cleanup
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / name / NameRelationshipWizardPage.java
index 899b835a6be0110735a5dddb59a891bf0305925c..e8729b142a288192ac448261363493dde09cef89 100644 (file)
@@ -9,17 +9,19 @@
 
 package eu.etaxonomy.taxeditor.ui.section.name;
 
-import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 
+import eu.etaxonomy.cdm.model.common.RelationshipTermBase;
 import eu.etaxonomy.cdm.model.name.NameRelationship;
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
 import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.term.TermRelationshipType;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.ui.AbstractEntityCollectionElementWizardPage;
-import eu.etaxonomy.taxeditor.ui.combo.NameRelationshipTypeCombo;
+import eu.etaxonomy.taxeditor.ui.combo.RelationshipTypeCombo;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
@@ -31,16 +33,15 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @created Jun 1, 2010
  * @version 1.0
  */
-public class NameRelationshipWizardPage extends AbstractEntityCollectionElementWizardPage implements
-               IPropertyChangeListener {
+public class NameRelationshipWizardPage extends AbstractEntityCollectionElementWizardPage {
 
        private EntitySelectionElement<TaxonName> selection_relatedTo;
 
-       private NameRelationshipTypeCombo combo_relationshipType;
+       private RelationshipTypeCombo combo_relationshipType;
 
        private final TaxonName entity;
 
-       private NameRelationshipType type;
+       private RelationshipTermBase type;
 
        private TaxonName relatedName;
        boolean inverse;
@@ -56,13 +57,12 @@ public class NameRelationshipWizardPage extends AbstractEntityCollectionElementW
         *            object.
         */
        protected NameRelationshipWizardPage(
-                       NameRelationshipDetailSection callingSection) {
-               super("NameRelationshipWizardPage"); //$NON-NLS-1$
+                       NameRelationshipDetailSection callingSection, CdmFormFactory formFactory) {
+               super("NameRelationshipWizardPage", formFactory); //$NON-NLS-1$
                setTitle("New Name Relationship"); //$NON-NLS-1$
                //setDescription(callingSection.getEntity().getTitleCache());
                setDescription(Messages.NameRelationshipWizardPage_description);
                this.entity = callingSection.getEntity();
-               this.formFactory = callingSection.getFormFactory();
 
                formFactory.addPropertyChangeListener(this);
        }
@@ -84,9 +84,7 @@ public class NameRelationshipWizardPage extends AbstractEntityCollectionElementW
 
 
                selection_relatedTo = formFactory
-                               .createSelectionElement(TaxonName.class,
-                                               ((NameRelationshipWizard) getWizard())
-                                                               .getConversationHolder(), rootElement,
+                               .createSelectionElement(TaxonName.class, rootElement,
                                                "",this.entity, EntitySelectionElement.ALL,
                                                SWT.NULL, true);
 
@@ -102,9 +100,9 @@ public class NameRelationshipWizardPage extends AbstractEntityCollectionElementW
        public NameRelationship getNameRelationship() {
            NameRelationship rel;
            if (inverse){
-               rel = entity.addRelationshipFromName(relatedName, type, null, null, null);
+               rel = entity.addRelationshipFromName(relatedName, (NameRelationshipType)type, null, null, null, null);
            }else{
-               rel = entity.addRelationshipToName(relatedName, type, null, null, null);
+               rel = entity.addRelationshipToName(relatedName, (NameRelationshipType)type, null, null, null, null);
            }
            return rel;
        }
@@ -116,11 +114,12 @@ public class NameRelationshipWizardPage extends AbstractEntityCollectionElementW
                        return;
                }
                Object eventSource = event.getSource();
-               if (eventSource == combo_relationshipType) {
-                       type = combo_relationshipType.getSelection().getTerm();
+               if (eventSource == combo_relationshipType && combo_relationshipType.getSelection() != null) {
+                   type = combo_relationshipType.getSelection().getTerm();
                        this.inverse = combo_relationshipType.getSelection().isInverse();
                } else if (eventSource == selection_relatedTo) {
                        relatedName = selection_relatedTo.getEntity();
+
                }
 
                boolean complete = type != null && relatedName != null;