taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/AbstractEntityCollectionSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/BulkEditorOpeningSelectionListener.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/EmptyElement.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/ITaxonDetailSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/ITaxonBaseDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/agent/InstitutionDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/agent/InstitutionDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/agent/InstitutionWizardPage.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/AbstractTypeDesignationElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/AuthorshipDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/AuthorshipDetailSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/HybridDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/HybridDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/NameDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/NameDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/NameRelationshipDetailElement.java -text
import java.util.Set;
import java.util.UUID;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
*/
public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmBase> extends
FilteredItemsSelectionDialog implements IConversationEnabled {
- private static final Logger logger = Logger
- .getLogger(AbstractFilteredCdmResourceSelectionDialog.class);
private ConversationHolder conversation;
}else if(item instanceof String){
text = (String) item;
}
- if (text != null) {
- logger.debug(text + " " + matches(text));// + " " + model.size());
- } else {
- logger.debug("null");
- }
return text != null ? matches(text) : false;
}
progressMonitor.worked(1);
}
}else{
- logger.error("Model for Filtered Selection is null:" + this.getClass().getSimpleName());
+ EditorUtil.warn(getClass(), "Model for Filtered Selection is null:" + this.getClass().getSimpleName());
}
}
finally {
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
* @created 02.06.2008
* @version 1.0
*/
-abstract public class AbstractGroupedContainer<T extends TaxonBase> {
+abstract public class AbstractGroupedContainer<T extends TaxonBase> implements IFormPart {
/**
*
private FocusListener nameCompositeFocusListener;
private ModifyListener nameCompositeModifyListener;
-
- final Color not_editable_color = new Color(Display.getDefault(), 105, 114, 124);
-
- /**
- * 1st column: Return value expected from the last method mentioned in the object path (3rd column et seq.) to enable the freetext.
- * 2nd column: The class the last method mentioned in the object path should be a member of. This should be null if there is no need to narrow this.
- * 3rd column et seq.: The sequence of method names reflects the object path to the desired method starting from a member of TaxonBase.
- */
- private Object[][] enableFreetextFor = {
- {"", null, "getName", "getAppendedPhrase"},
- {false, null, "getName", "isProtectedAuthorshipCache"},
- {false, null, "getName", "isProtectedNameCache"},
-// {false, "eu.etaxonomy.cdm.model.agent.Team", "getName", "getCombinationAuthorTeam", "isProtectedNomenclaturalTitleCache"}
- };
-
protected TaxonNameEditor editor;
protected NameViewer nameViewer;
protected Composite control;
private Color backgroundColor;
+ private boolean isDirty;
+
/**
* <p>Constructor for AbstractGroupedContainer.</p>
// mark the composite dirty
setDirty(true);
// parse the text
- NonViralName name = parseHandler.parse();
+ String text = nameViewer.getTextWidget().getText();
+
+ NonViralName name = parseHandler.parse(text);
getTaxonBase().setName(name);
getTaxonBase().setTitleCache((getTaxonBase().generateTitle()));
getNameViewer().getTextWidget().setEditable(false);
// grey out text as a non-editable indicator
- getNameViewer().getTextWidget().setForeground(not_editable_color);
+ getNameViewer().getTextWidget().setForeground(EditorUtil.getColor(Resources.COLOR_DISABLED_EDITOR));
}
}
+
/**
* Checks whether the freetext should be editable based on specific empty fields.
* @return
*/
private boolean freetextEditingAllowed() {
+ NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(getName());
boolean enableFreetext = true;
- enableFreetext &= taxonFieldsEmpty();
-
+ enableFreetext &= isNameUsedMultipleTimes(name);
+ enableFreetext &= isNameParsable(name);
+
+ if(!enableFreetext){
+ getNameViewer().setShowNameNotParsableWarning(name);
+ }
+
return enableFreetext;
}
-
- /**
- * Checks whether specific fields of specific type have specific values.
- * This generic implementation can easily go completely nuts if enableFreetextFor was filled wrong.
- * @return
- */
- private boolean taxonFieldsEmpty() {
- boolean enableFreetext = true;
-
- if (getTaxonBase() != null) {
- for (Object[] methodSequence : enableFreetextFor) {
- int sequenceCount = 0;
- Object taxonObject = HibernateProxyHelper.deproxy(getTaxonBase());
- Object referenceType = null;
- boolean useReference = false;
- Class<? extends CdmBase> referenceInstance = null;
- for (Object method : methodSequence) {
- sequenceCount++;
-
- if (sequenceCount == 1) {
- referenceType = method;
- } else if (sequenceCount == 2) {
- try {
- if (method != null) {
- referenceInstance = (Class<? extends CdmBase>) Class.forName((String) method);
- useReference = true;
- } else {
- useReference = false;
- }
- } catch (ClassNotFoundException e) {
- EditorUtil.error(getClass(), e);
- return false;
- }
- } else {
- Method getter = null;
- try {
- if (taxonObject != null) { // authorTeams can be null
- Class<? extends Object> clazz = taxonObject.getClass();
- boolean goOn = false;
- if (methodSequence.length == sequenceCount) {
- if (useReference) {
- if (referenceInstance.newInstance().isInstanceOf((Class<? extends CdmBase>) clazz)) {
- goOn = true;
- } else {
- goOn = false;
- }
- } else {
- goOn = true;
- }
- } else {
- goOn = true;
- }
-
- if (goOn) {
- getter = clazz.getMethod((String)method, (Class<?>[])null);
- taxonObject = HibernateProxyHelper.deproxy(getter.invoke(taxonObject, (Object[])null));
- if (methodSequence.length == sequenceCount) {
- enableFreetext &= isEqual(referenceType, taxonObject);
-// if (!enableFreetext) {
-// logger.error("Freetext disabled for: " + taxonBase);
-// }
- }
- }
- }
- } catch (Exception e) {
- EditorUtil.error(getClass(), e);
- return false;
- }
- }
- }
- }
- } else {
- EditorUtil.error(getClass(), "TaxonBase is null. This should not happen.", null);
+
+ private boolean isNameUsedMultipleTimes(NonViralName name){
+ if(name.getTaxonBases().size() != 1){
+ getNameViewer().setShowMultipleNameUsageWarning(name);
return false;
}
-
- return enableFreetext;
+ return true;
}
-
- /**
- * Checks whether two objects are equal. Only works for cases of interest.
- * @param referenceType
- * @param object
- * @return
- */
- private boolean isEqual(Object referenceType, Object object) {
- boolean equal = false;
- if (referenceType instanceof Boolean) {
- if ((Boolean)referenceType.equals((Boolean)object)) {
- equal = true;
- } else {
- equal = false;
- }
- } else {
- // This can only be a String in our cases so far. Needs reimplementation in case this is not always the case.
- if (referenceType.equals(CdmUtils.Nz((String)object))) {
- equal = true;
- } else {
- equal = false;
- }
- }
- return equal;
+
+ private boolean isNameParsable(NonViralName name){
+ boolean isParsable = true;
+ isParsable &= CdmUtils.isEmpty(name.getAppendedPhrase()); //taxonFieldsEmpty();
+
+ isParsable &= ! name.isProtectedAuthorshipCache();
+ isParsable &= ! name.isProtectedNameCache();
+
+
+ return isParsable;
}
/**
*/
public void parseAndCalculateErrors(){
removeListener();
- parseHandler.parse();
+ String unparsedNameString = getNameViewer().getTextWidget().getText();
+ parseHandler.parse(unparsedNameString);
addListener();
calculateErrors();
}
*/
public void persistName(){
if(isDirty()){
- getTaxonBase().setName(parseHandler.parseAndResolveDuplicates());
- getTaxonBase().setTitleCache((getTaxonBase().generateTitle()));
+ getNameViewer().getTextWidget().setEnabled(false);
+ final String unparsedNameString = getNameViewer().getTextWidget().getText();
+// Job job = new Job("Persisting Name"){
+//
+// @Override
+// protected IStatus run(IProgressMonitor monitor) {
+//
+ final NonViralName name = parseHandler.parseAndResolveDuplicates(unparsedNameString);
+//
+// Display.getDefault().asyncExec(new Runnable(){
+// public void run() {
+ getTaxonBase().setName(name);
+ getTaxonBase().setTitleCache((getTaxonBase().generateTitle()));
+ setDirty(false);
+ getNameViewer().getTextWidget().setEnabled(true);
+// };
+// });
+//
+//
+// return Status.OK_STATUS;
+// }
+//
+// };
+//
+// job.setPriority(Job.DECORATE);
+// job.schedule();
}
}
* @param isDirty a boolean.
*/
public void setDirty(boolean isDirty) {
- editor.getManagedForm().dirtyStateChanged();
+ if(isDirty){
+ editor.getManagedForm().dirtyStateChanged();
+ }
+ this.isDirty = isDirty;
}
/**
* @return a boolean.
*/
public boolean isDirty(){
- return editor.getManagedForm().isDirty();
+ return isDirty;
}
/**
public void restoreColor() {
setBackground(backgroundColor);
}
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#initialize(org.eclipse.ui.forms.IManagedForm)
+ */
+ @Override
+ public void initialize(IManagedForm form) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#dispose()
+ */
+ @Override
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#commit(boolean)
+ */
+ @Override
+ public void commit(boolean onSave) {
+ if(isDirty()){
+ persistName();
+ }
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#setFormInput(java.lang.Object)
+ */
+ @Override
+ public boolean setFormInput(Object input) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#setFocus()
+ */
+ @Override
+ public void setFocus() {
+ getNameViewer().getControl().setFocus();
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IFormPart#isStale()
+ */
+ @Override
+ public boolean isStale() {
+ // TODO Auto-generated method stub
+ return false;
+ }
}
import org.apache.log4j.Logger;
import org.eclipse.swt.graphics.Font;
+import org.eclipse.ui.forms.IManagedForm;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
protected void updateNonEditableInfo() {
// not needed
}
+
}
HomotypicalSynonymGroup homotypicalSynonymGroup = new HomotypicalSynonymGroup(taxonNameEditor, homotypicGroup);
taxonNameEditor.setHomotypicSynonymGroup(homotypicalSynonymGroup);
AcceptedNameContainer acceptedNameContainer = new AcceptedNameContainer(taxonNameEditor, homotypicalSynonymGroup);
+
taxonNameEditor.setAcceptedNameContainer(acceptedNameContainer);
for(Synonym synonym : homotypicSynonyms){
- createContainerFactoryMethod(SYNONYM, homotypicalSynonymGroup, synonym);
+ createContainerFactoryMethod(SYNONYM, homotypicalSynonymGroup, synonym, taxonNameEditor);
}
}
// subsequent runs
else{
- fillGroup(group, homotypicSynonyms, ACCEPTED);
+ fillGroup(group, homotypicSynonyms, ACCEPTED, taxonNameEditor);
}
}
taxonNameEditor.setMisapplicationsGroup(null);
}else{
AbstractGroup group = getMisappliedGroup(taxonNameEditor);
- fillGroup(group, content, MISAPPLICATION);
+ fillGroup(group, content, MISAPPLICATION, taxonNameEditor);
}
}
* @param group a {@link eu.etaxonomy.taxeditor.editor.name.AbstractGroup} object.
* @param content a {@link java.util.List} object.
* @param mode a int.
+ * @param taxonNameEditor
*/
- public void fillGroup(AbstractGroup group, List<? extends TaxonBase> content, int mode){
+ public void fillGroup(AbstractGroup group, List<? extends TaxonBase> content, int mode, TaxonNameEditor taxonNameEditor){
if(content == null || (mode != ACCEPTED && content.size() == 0)){
return;
}
if(existingContainer != null){
group.add(existingContainer);
}else{
- createContainerFactoryMethod(mode == ACCEPTED ? SYNONYM : mode, group, taxonBase);
+ createContainerFactoryMethod(mode == ACCEPTED ? SYNONYM : mode, group, taxonBase, taxonNameEditor);
}
}
* @param mode a int.
* @param group a {@link eu.etaxonomy.taxeditor.editor.name.AbstractGroup} object.
* @param taxonBase a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
+ * @param taxonNameEditor
* @return a {@link eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer} object.
*/
- public AbstractGroupedContainer createContainerFactoryMethod(int mode, AbstractGroup group, TaxonBase taxonBase){
+ public AbstractGroupedContainer createContainerFactoryMethod(int mode, AbstractGroup group, TaxonBase taxonBase, TaxonNameEditor taxonNameEditor){
+ AbstractGroupedContainer container = null;
+
switch(mode){
case ACCEPTED:
- return new AcceptedNameContainer(group.getNameEditor(), group);
+ container = new AcceptedNameContainer(group.getNameEditor(), group);
+ break;
case SYNONYM:
- return new SynonymContainer(group.getNameEditor(), group, (Synonym) taxonBase);
+ container = new SynonymContainer(group.getNameEditor(), group, (Synonym) taxonBase);
+ break;
case MISAPPLICATION:
- return new MisapplicationContainer(group.getNameEditor(), group, (Taxon) taxonBase);
+ container = new MisapplicationContainer(group.getNameEditor(), group, (Taxon) taxonBase);
+ break;
case CONCEPT:
- return null;
+ container = null;
}
- return null;
+
+ taxonNameEditor.getManagedForm().addPart(container);
+
+ return container;
}
/**
List<Synonym> heterotypicSynonyms = group.getGroup().getSynonymsInGroup(taxon.getSec());
- fillGroup(group, heterotypicSynonyms, SYNONYM);
+ fillGroup(group, heterotypicSynonyms, SYNONYM, taxonNameEditor);
}
public void redraw() {
List<Synonym> synonyms = getGroup().getSynonymsInGroup(getNameEditor().getTaxon().getSec());
- ContainerFactory.getInstance().fillGroup(this, synonyms, ContainerFactory.SYNONYM);
+ ContainerFactory.getInstance().fillGroup(this, synonyms, ContainerFactory.SYNONYM, editor);
}
/**
@Override
public void redraw() {
List<Taxon> misapplications = new ArrayList<Taxon>(editor.getTaxon().getMisappliedNames());
- ContainerFactory.getInstance().fillGroup(this, misapplications, ContainerFactory.MISAPPLICATION);
+ ContainerFactory.getInstance().fillGroup(this, misapplications, ContainerFactory.MISAPPLICATION, editor);
}
/**
import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
+import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
}
}
+ public void setShowMultipleNameUsageWarning(TaxonNameBase name){
+ if(name.getTaxonBases().size() > 1){
+ String text = "This taxons name is used multiple times.";
+ this.getAnnotationModel().addAnnotation(
+ new EditorAnnotation(EditorAnnotation.WARNING_TYPE, 0, text),
+ new Position(0, 0));
+ }
+ }
+
+ /**
+ * @param name
+ */
+ public void setShowNameNotParsableWarning(NonViralName name) {
+ String text = "This name may only be edited in the details view.";
+
+ this.getAnnotationModel().addAnnotation(
+ new EditorAnnotation(EditorAnnotation.WARNING_TYPE, 0, text),
+ new Position(0, 0));
+
+ }
+
/**
* <p>setText</p>
*
}
}
}
+
}
protected void createManagedForm(Composite composite) {
managedForm = new ManagedForm(composite) {
+
public void dirtyStateChanged() {
firePropertyChange(PROP_DIRTY);
}
containerFactory.createConceptGroup(this);
- for(AbstractGroupedContainer container : getGroupedContainers()){
- container.setMenu(getMenu());
- }
+ // disabling for testing
+// for(AbstractGroupedContainer container : getGroupedContainers()){
+// container.setMenu(getMenu());
+// }
// Redraw composite
+
managedForm.reflow(true);
}
/** {@inheritDoc} */
public void partChanged(Integer eventType, IWorkbenchPartReference partRef) {
if(! partRef.getPart(false).equals(editor)){
- getSelectedObject().colorSelected(AbstractGroupedContainer.SELECTED_NO_FOCUS);
+// getSelectedObject().colorSelected(AbstractGroupedContainer.SELECTED_NO_FOCUS);
}
}
import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
import eu.etaxonomy.taxeditor.section.occurrence.IDerivedUnitFacadeDetailSection;
/**
if(input instanceof AbstractGroupedContainer){
input = ((AbstractGroupedContainer) input).getData();
}
- if((input instanceof TaxonBase) && (formSection instanceof ITaxonDetailSection)){
- ((ITaxonDetailSection) formSection).setTaxon((TaxonBase) input);
+ if((input instanceof TaxonBase) && (formSection instanceof ITaxonBaseDetailSection)){
+ ((ITaxonBaseDetailSection) formSection).setTaxonBase((TaxonBase) input);
return true;
}
if((input instanceof DerivedUnitBase) && (formSection instanceof IDerivedUnitFacadeDetailSection)){
Object eventSource = event.getSource();
- if(eventSource instanceof ICdmFormElement){
- if(formSection.containsFormElement((ICdmFormElement)eventSource)){
- markDirty();
- }
- }
+ if(formSection.equals(eventSource)
+ || (eventSource instanceof ICdmFormElement && formSection.containsFormElement((ICdmFormElement)eventSource))){
+ markDirty();
+ }
}
}
import eu.etaxonomy.taxeditor.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.section.key.PolytomousKeyNodeDetailSection;
import eu.etaxonomy.taxeditor.section.key.ScopeRestrictionSection;
+import eu.etaxonomy.taxeditor.section.name.HybridDetailSection;
import eu.etaxonomy.taxeditor.section.name.NameRelationshipDetailSection;
import eu.etaxonomy.taxeditor.section.name.NomenclaturalStatusSection;
import eu.etaxonomy.taxeditor.section.name.NonViralNameDetailSection;
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ HybridDetailSection hybridDetailSection = (HybridDetailSection)
+ formFactory.createCdmDetailSection(DetailType.HYBRID, getConversationHolder(), parent, this, Section.TWISTIE);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
ParsingMessagesSection parsingMessagesSection = (ParsingMessagesSection)
formFactory.createCdmDetailSection(DetailType.PARSINGMESSAGE, getConversationHolder(), parent, this, Section.EXPANDED);
addPart(protologSection);
addPart(referenceDetailSection);
addPart(typeDesignationSection);
- addPart(parsingMessagesSection);
addPart(nameRelationshipSection);
+ addPart(hybridDetailSection);
+ addPart(parsingMessagesSection);
}
private void createNameSections(RootElement parent) {
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ HybridDetailSection hybridDetailSection = (HybridDetailSection)
+ formFactory.createCdmDetailSection(DetailType.HYBRID, getConversationHolder(), parent, this, Section.TWISTIE);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
addPart(nonViralNameSection);
addPart(nomenclaturalStatusSection);
addPart(protologSection);
addPart(referenceDetailSection);
addPart(typeDesignationSection);
addPart(nameRelationshipSection);
+ addPart(hybridDetailSection);
}
private void createReferenceSections(RootElement parent) {
import eu.etaxonomy.taxeditor.section.key.ScopeRestrictionSection;
import eu.etaxonomy.taxeditor.section.name.AuthorshipDetailElement;
import eu.etaxonomy.taxeditor.section.name.AuthorshipDetailSection;
+import eu.etaxonomy.taxeditor.section.name.HybridDetailElement;
+import eu.etaxonomy.taxeditor.section.name.HybridDetailSection;
import eu.etaxonomy.taxeditor.section.name.NameDetailElement;
import eu.etaxonomy.taxeditor.section.name.NameDetailSection;
import eu.etaxonomy.taxeditor.section.name.NameRelationshipDetailElement;
POLYTOMOUS_KEY,
POLYTOMOUS_KEY_NODE,
INSTITUTION,
- DERIVED_UNIT_GENERAL
+ DERIVED_UNIT_GENERAL,
+ HYBRID
}
/**
case DERIVED_UNIT_GENERAL:
section = new GeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
break;
+ case HYBRID:
+ section = new HybridDetailSection(this, conversation, parentElement, selectionProvider, style);
+ break;
}
if(section == null){
case DERIVED_UNIT_GENERAL:
element = new GeneralDetailElement(this, parentElement);
break;
+ case HYBRID:
+ element = new HybridDetailElement(this, parentElement);
+ break;
}
if(element == null){
this.partial = partial;
if(partial != null){
- composite_date.setDate(TimePeriod.getPartialValue(partial, TimePeriod.YEAR_TYPE),
- TimePeriod.getPartialValue(partial, TimePeriod.MONTH_TYPE),
- TimePeriod.getPartialValue(partial, TimePeriod.DAY_TYPE));
+ int year = 0;
+ int month = 1;
+ int day = 1;
+ try{
+ year = partial.get(DateTimeFieldType.year());
+ }catch(IllegalArgumentException e){
+
+ }
+ try{
+ month = partial.get(DateTimeFieldType.monthOfYear());
+ }catch(IllegalArgumentException e){
+
+ }
+ try{
+ day = partial.get(DateTimeFieldType.dayOfMonth());
+ }catch(IllegalArgumentException e){
+
+ }
+
+
+ composite_date.setDate(year, month, day);
}
}
protected UriWithLabelElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, String labelString,
URI initialUri, Integer textHeight, int style) {
- super(formFactory, parentElement, labelString, initialUri.toString(), textHeight, style);
+ super(formFactory, parentElement, labelString, null, textHeight, style);
+ setUri(initialUri);
}
/**
*
*/
public void setUri(URI uri) {
- super.setText(uri.toString());
+ if(uri != null){
+ super.setText(uri.toString());
+ }
}
public URI getUri() throws URISyntaxException{
package eu.etaxonomy.taxeditor.section;
+import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.events.IExpansionListener;
import org.eclipse.ui.forms.widgets.Section;
public AbstractCdmDetailSection(CdmFormFactory formFactory,
ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
super(formFactory, conversation, parentElement, selectionProvider, Section.CLIENT_INDENT | style);
- this.setText(getHeading());
- this.addExpansionListener(this);
+ setText(getHeading());
+
+ addExpansionListener(this);
createControls(this, SWT.NULL);
}
-
-
+
+
/**
* <p>createControls</p>
*
title = ": " + ((IdentifiableEntity) getEntity()).getTitleCache();
}
this.setText(getHeading() + title);
+ setTextClient(createToolbar());
+ }
+
+
+ /**
+ * @return
+ */
+ protected Control createToolbar() {
+ ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
+ return toolBarManager.createControl(this);
}
/**
* @author n.hoffmann
* @version $Id: $
*/
-public interface ITaxonDetailSection{
+public interface ITaxonBaseDetailSection{
/**
* <p>setTaxon</p>
*
* @param taxon a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
*/
- public abstract void setTaxon(TaxonBase taxon);
+ public abstract void setTaxonBase(TaxonBase taxon);
+ /**
+ *
+ * @return
+ */
+ public abstract TaxonBase getTaxonBase();
}
package eu.etaxonomy.taxeditor.section.description;
-import org.apache.log4j.Logger;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ISelectionProvider;
public class DescriptionElementDetailSection extends
AbstractCdmDetailSection<DescriptionElementBase> {
- private static final Logger logger = Logger
- .getLogger(DescriptionElementDetailSection.class);
-
/**
* <p>Constructor for DescriptionElementDetailSection.</p>
*
}
- private Control createToolbar() {
+ protected Control createToolbar() {
if(! hasSpecificElement()){
return null;
}
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>AuthorshipDetailSection class.</p>
* @created 05.06.2009
* @version 1.0
*/
-public class AuthorshipDetailSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonDetailSection {
-
-
- private static final Logger logger = Logger.getLogger(AuthorshipDetailSection.class);
+public class AuthorshipDetailSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonBaseDetailSection {
+ private TaxonBase taxonBase;
/**
* <p>Constructor for AuthorshipDetailSection.</p>
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase entity) {
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
protected DetailType getDetailType() {
return DetailType.AUTHORSHIP;
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
--- /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.name;
+
+import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CheckboxElement;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
+
+/**
+ * @author n.hoffmann
+ * @created Jan 5, 2011
+ * @version 1.0
+ */
+public class HybridDetailElement extends AbstractCdmDetailElement<NonViralName> {
+
+ private CheckboxElement checkbox_monomHybrid;
+ private CheckboxElement checkbox_binomHybrid;
+ private CheckboxElement checkbox_trinomHybrid;
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public HybridDetailElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, NonViralName entity,
+ int style) {
+ checkbox_monomHybrid = formFactory.createCheckbox(formElement, "Monom Hybrid", entity.isMonomHybrid(), style);
+ checkbox_binomHybrid = formFactory.createCheckbox(formElement, "Binom Hybrid", entity.isBinomHybrid(), style);
+ checkbox_trinomHybrid = formFactory.createCheckbox(formElement, "Trinom Hybrid", entity.isTrinomHybrid(), style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == checkbox_monomHybrid){
+ getEntity().setMonomHybrid(checkbox_monomHybrid.getSelection());
+ }
+ else if(eventSource == checkbox_monomHybrid){
+ getEntity().setBinomHybrid(checkbox_binomHybrid.getSelection());
+ }
+ else if(eventSource == checkbox_monomHybrid){
+ getEntity().setTrinomHybrid(checkbox_trinomHybrid.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.name;
+
+import org.eclipse.jface.viewers.ISelectionProvider;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
+
+/**
+ * @author n.hoffmann
+ * @created Jan 5, 2011
+ * @version 1.0
+ */
+public class HybridDetailSection extends AbstractCdmDetailSection<TaxonNameBase> implements
+ ITaxonBaseDetailSection {
+
+ private TaxonBase taxonBase;
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param selectionProvider
+ * @param style
+ */
+ public HybridDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ ISelectionProvider selectionProvider, int style) {
+ super(formFactory, conversation, parentElement, selectionProvider, style);
+ }
+
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection#setTaxonBase(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public void setTaxonBase(TaxonBase taxon) {
+ taxonBase = taxon;
+ NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
+ setEntity(name);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection#getTaxonBase()
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getDetailType()
+ */
+ @Override
+ protected DetailType getDetailType() {
+ return DetailType.HYBRID;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getHeading()
+ */
+ @Override
+ public String getHeading() {
+ return "Hybrid";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#setSectionTitle()
+ */
+ @Override
+ protected void setSectionTitle() {
+ setText(getHeading());
+ }
+
+}
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.IEnableableFormElement;
import eu.etaxonomy.taxeditor.forms.ISelectableElement;
+import eu.etaxonomy.taxeditor.forms.LabelElement;
import eu.etaxonomy.taxeditor.forms.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.forms.SelectionArbitrator;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
private NumberWithLabelElement text_publicationYear;
private NumberWithLabelElement text_originalPublicationYear;
private int cursorPosition;
- private ToggleableTextElement text_fullTitleCache;
- private ToggleableTextElement text_titleCache;
/**
* <p>Constructor for NameDetailElement.</p>
createSpecificNameParts(this, nonViralName, style);
text_appendedPhrase = formFactory.createTextWithLabelElement(formElement, "Appended Phrase", nonViralName.getAppendedPhrase(), style);
+
}
/**
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>NameDetailSection class.</p>
* @created 05.06.2009
* @version 1.0
*/
-public class NameDetailSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonDetailSection{
-
-
- private static final Logger logger = Logger
- .getLogger(NameDetailSection.class);
+public class NameDetailSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonBaseDetailSection{
+ private TaxonBase taxonBase;
/**
* <p>Constructor for NameDetailSection.</p>
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase entity) {
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
this.setText(getHeading() + title);
}
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Color;
import eu.etaxonomy.cdm.model.name.NameRelationship;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
*/
public class NameRelationshipDetailElement extends AbstractReferencedEntityElement<NameRelationship>{
- private static final Logger logger = Logger
- .getLogger(NameRelationshipDetailElement.class);
private TextWithLabelElement text_ruleConsidered;
private AbstractSelectionElement selection_toName;
private NameRelationshipTypeComboElement combo_relationshipType;
getEntity().setType(combo_relationshipType.getSelection());
}
else if(eventSource == selection_toName){
- logger.error("No API call available.");
+ EditorUtil.error(getClass(), "No API call available.", null);
}
else if(eventSource == text_ruleConsidered){
getEntity().setRuleConsidered(text_ruleConsidered.getText());
import java.util.Collection;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.wizard.WizardDialog;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>NameRelationshipDetailSection class.</p>
* @created Mar 18, 2010
* @version 1.0
*/
-public class NameRelationshipDetailSection extends AbstractEntityCollectionSection<TaxonNameBase, NameRelationship> implements ITaxonDetailSection{
+public class NameRelationshipDetailSection extends AbstractEntityCollectionSection<TaxonNameBase, NameRelationship> implements ITaxonBaseDetailSection{
+
+ private TaxonBase taxonBase;
- private static final Logger logger = Logger
- .getLogger(NameRelationshipDetailSection.class);
-
/**
* <p>Constructor for NameRelationshipDetailSection.</p>
*
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#setTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
*/
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
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.name.NomenclaturalStatus;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>NomenclaturalStatusSection class.</p>
* @created Nov 5, 2009
* @version 1.0
*/
-public class NomenclaturalStatusSection extends AbstractEntityCollectionSection<TaxonNameBase, NomenclaturalStatus> implements ITaxonDetailSection{
+public class NomenclaturalStatusSection extends AbstractEntityCollectionSection<TaxonNameBase, NomenclaturalStatus> implements ITaxonBaseDetailSection{
- private static final Logger logger = Logger
- .getLogger(NomenclaturalStatusSection.class);
+ private TaxonBase taxonBase;
-
/**
* <p>Constructor for NomenclaturalStatusSection.</p>
*
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- NonViralName nonViralName = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ NonViralName nonViralName = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(nonViralName);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement,
- NonViralName entity, int style) {
+ final NonViralName entity, int style) {
+
toggleable_cache = formFactory.createToggleableTextField(formElement, "Cache", entity.getTitleCache(), entity.isProtectedTitleCache() || entity.isProtectedFullTitleCache(), style);
combo_nomenclaturalCode = (NomenclaturalCodeComboElement) formFactory.createEnumComboElement(EnumComboType.NOMENCLATURALCODE, formElement, style);
addElement(section_author);
}
+
/** {@inheritDoc} */
@Override
protected void updateContent() {
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+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.CdmPropertyChangeEvent;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>NonViralNameDetailSection class.</p>
* @version 1.0
*/
public class NonViralNameDetailSection extends AbstractCdmDetailSection<NonViralName>
- implements ITaxonDetailSection {
+ implements ITaxonBaseDetailSection {
+
+ private TaxonBase taxonBase;
/**
* <p>Constructor for NonViralNameDetailSection.</p>
super(formFactory, conversation, parentElement, selectionProvider, style);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#createToolbar()
+ */
+ @Override
+ protected Control createToolbar() {
+ ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
+
+ if(getEntity() != null && checkForMultipleNameUsages(getEntity())){
+
+ Action cloneAction = new Action("Clone", Action.AS_PUSH_BUTTON){
+ public void run() {
+ boolean confirm = EditorUtil.confirmDialog("Confirm cloning", "Do you really want to clone the name?");
+
+ if(confirm){
+ NonViralName clonedName;
+ clonedName = (NonViralName) getEntity().clone();
+ setEntity(clonedName);
+ taxonBase.setName(clonedName);
+ taxonBase.generateTitle();
+// EditorUtil.getActiveMultiPageTaxonEditor().r
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(NonViralNameDetailSection.this, null));
+ }
+
+ };
+ };
+
+ cloneAction.setToolTipText("Clone the name if you do not want to edit the shared instance");
+
+ toolBarManager.add(cloneAction);
+
+ }
+ return toolBarManager.createControl(this);
+ }
+
+
+ /**
+ * @param nonViralName
+ *
+ */
+ private boolean checkForMultipleNameUsages(NonViralName nonViralName) {
+ return nonViralName.getTaxonBases().size() != 1;
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getDetailType()
*/
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#setTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
*/
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
+ public void setTaxonBase(TaxonBase taxon) {
+ taxonBase = taxon;
NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
setEntity(name);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>ProtologueSection class.</p>
* @created Nov 5, 2009
* @version 1.0
*/
-public class ProtologueSection extends AbstractEntityCollectionSection<TaxonNameBase, DescriptionElementBase> implements ITaxonDetailSection{
+public class ProtologueSection extends AbstractEntityCollectionSection<TaxonNameBase, DescriptionElementBase> implements ITaxonBaseDetailSection{
+ private TaxonBase taxonBase;
+
/**
* <p>Constructor for ProtologueSection.</p>
*
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
-
- NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
-
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
}
return (TaxonNameDescription) name.getDescriptions().iterator().next();
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
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.name.NameTypeDesignation;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
-import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>TypeDesignationSection class.</p>
* @created May 17, 2010
* @version 1.0
*/
-public class TypeDesignationSection extends AbstractEntityCollectionSection<TaxonNameBase, TypeDesignationBase> implements ITaxonDetailSection {
+public class TypeDesignationSection extends AbstractEntityCollectionSection<TaxonNameBase, TypeDesignationBase> implements ITaxonBaseDetailSection {
- private static final Logger logger = Logger
- .getLogger(TypeDesignationSection.class);
+ private TaxonBase taxonBase;
/**
* <p>Constructor for TypeDesignationSection.</p>
super(formFactory, conversation, parentElement, "Type Designations", style);
}
-
-
/** {@inheritDoc} */
@Override
public void addElement(TypeDesignationBase element) {
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#setTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
*/
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(taxon.getName());
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
Rank rank = getEntity().getRank();
return rank.isSpecies() || rank.isInfraSpecific();
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
package eu.etaxonomy.taxeditor.section.reference;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>NomenclaturalReferenceDetailSection class.</p>
* @version 1.0
*/
public class NomenclaturalReferenceDetailSection extends
- AbstractCdmDetailSection<TaxonNameBase> implements ITaxonDetailSection{
+ AbstractCdmDetailSection<TaxonNameBase> implements ITaxonBaseDetailSection{
-
- private static final Logger logger = Logger
- .getLogger(NomenclaturalReferenceDetailSection.class);
+ private TaxonBase taxonBase;
/**
* <p>Constructor for NomenclaturalReferenceDetailSection.</p>
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- TaxonNameBase name = (TaxonNameBase) HibernateProxyHelper.deproxy(taxon.getName());
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ TaxonNameBase name = (TaxonNameBase) HibernateProxyHelper.deproxy(entity.getName());
setEntity(name);
}
}
this.setText(getHeading() + title);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
package eu.etaxonomy.taxeditor.section.reference;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>ReferenceBaseDetailSection class.</p>
* @created 05.06.2009
* @version 1.0
*/
-public class ReferenceDetailSection extends AbstractCdmDetailSection<Reference> implements ITaxonDetailSection{
+public class ReferenceDetailSection extends AbstractCdmDetailSection<Reference> implements ITaxonBaseDetailSection{
+ private TaxonBase taxonBase;
+
/**
* <p>Constructor for ReferenceBaseDetailSection.</p>
*
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#setTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
*/
/** {@inheritDoc} */
- public void setTaxon(TaxonBase entity) {
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
Reference reference = (Reference) HibernateProxyHelper.deproxy(name.getNomenclaturalReference());
super.refresh();
EditorUtil.refreshDetailsViewer();
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>ParsingMessagesSection class.</p>
* @created Mar 3, 2010
* @version 1.0
*/
-public class ParsingMessagesSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonDetailSection {
+public class ParsingMessagesSection extends AbstractCdmDetailSection<NonViralName> implements ITaxonBaseDetailSection {
/** Constant <code>HEADING_SUCCESS=""</code> */
public static final String HEADING_SUCCESS = "";
/** Constant <code>HEADING_PROBLEM="The name has problems."</code> */
public static final String HEADING_PROBLEM = "The name has problems.";
+ private TaxonBase taxonBase;
/**
* <p>Constructor for ParsingMessagesSection.</p>
}
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- setEntity((NonViralName) HibernateProxyHelper.deproxy(taxon.getName()));
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ setEntity((NonViralName) HibernateProxyHelper.deproxy(entity.getName()));
destroyParsingProblemComposites();
if(getEntity().hasProblem()){
displayParsingProblems();
protected DetailType getDetailType() {
return DetailType.PARSINGMESSAGE;
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
}
package eu.etaxonomy.taxeditor.section.taxon;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
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;
+import eu.etaxonomy.taxeditor.section.ITaxonBaseDetailSection;
/**
* <p>TaxonBaseDetailSection class.</p>
* @created Nov 4, 2009
* @version 1.0
*/
-public class TaxonBaseDetailSection extends AbstractCdmDetailSection<TaxonBase> implements ITaxonDetailSection{
+public class TaxonBaseDetailSection extends AbstractCdmDetailSection<TaxonBase> implements ITaxonBaseDetailSection{
+
+ private TaxonBase taxonBase;
- private static final Logger logger = Logger
- .getLogger(TaxonBaseDetailSection.class);
-
/**
* <p>Constructor for TaxonBaseDetailSection.</p>
*
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#setTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
*/
/** {@inheritDoc} */
- public void setTaxon(TaxonBase taxon) {
- TaxonBase taxonBase = (TaxonBase) HibernateProxyHelper.deproxy(taxon);
+ public void setTaxonBase(TaxonBase entity) {
+ this.taxonBase = entity;
+ TaxonBase taxonBase = (TaxonBase) HibernateProxyHelper.deproxy(entity);
setEntity(taxonBase);
}
return DetailType.TAXONBASE;
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
+ */
+ @Override
+ public TaxonBase getTaxonBase() {
+ return taxonBase;
+ }
+
}