From c0692f1e887f9732508c4914f58cb3daf2450461 Mon Sep 17 00:00:00 2001 From: Cherian Mathew Date: Mon, 22 Jul 2013 15:22:22 +0000 Subject: [PATCH] OccurrenceCreator: updated createNewEntity method to return wizard created object based on given SpecimenOrObservationType, added comparator for the key label pairs map Other classes : implemented savesEntity method to return a flag indicating whether the creator class also saves the entity --- .../input/entitycreator/AgentCreator.java | 6 ++ .../input/entitycreator/GroupCreator.java | 6 ++ .../input/entitycreator/NameCreator.java | 6 ++ .../entitycreator/OccurrenceCreator.java | 72 ++++++++++--------- .../input/entitycreator/ReferenceCreator.java | 6 ++ .../input/entitycreator/UserCreator.java | 6 ++ 6 files changed, 67 insertions(+), 35 deletions(-) diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/AgentCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/AgentCreator.java index 3281cc226..015b24a28 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/AgentCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/AgentCreator.java @@ -76,4 +76,10 @@ public class AgentCreator implements IEntityCreator { result.put(Person.class, "Author"); return result; } + + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return false; + } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/GroupCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/GroupCreator.java index e5f2deb9a..86dbde2e5 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/GroupCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/GroupCreator.java @@ -49,4 +49,10 @@ public class GroupCreator implements IEntityCreator { return result; } + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return false; + } + } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java index 12fe3a4e3..776b223ea 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java @@ -62,4 +62,10 @@ public class NameCreator implements IEntityCreator { } return result; } + + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return false; + } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/OccurrenceCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/OccurrenceCreator.java index 9e86e4208..db3d60f77 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/OccurrenceCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/OccurrenceCreator.java @@ -10,16 +10,21 @@ package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator; +import java.util.Comparator; import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; import org.apache.log4j.Logger; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.wizard.WizardDialog; -import eu.etaxonomy.cdm.model.molecular.DnaSample; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; -import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator; +import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil; +import eu.etaxonomy.taxeditor.newWizard.NewDerivedUnitBaseWizard; /** *

@@ -38,33 +43,25 @@ public class OccurrenceCreator implements /** {@inheritDoc} */ @Override public SpecimenOrObservationBase createEntity(String text) { + return createEntity(DerivedUnit.class, text); } /** {@inheritDoc} */ @Override public SpecimenOrObservationBase createEntity(Object key, String text) { + SpecimenOrObservationBase specimenOrObservation = null; - //FIXME:3.3MC - if (FieldUnit.class.equals((key))) { - specimenOrObservation = FieldUnit.NewInstance(); - } else if (DerivedUnit.class.equals((key))) { - specimenOrObservation = DerivedUnit.NewInstance(); - } else if (DerivedUnit.class.equals((key))) { - specimenOrObservation = DerivedUnit.NewInstance(); - } else if (DerivedUnit.class.equals((key))) { - specimenOrObservation = DerivedUnit.NewInstance(); - } else if (DerivedUnit.class.equals((key))) { - specimenOrObservation = DerivedUnit.NewInstance(); - } else if (DnaSample.class.equals((key))) { - specimenOrObservation = DnaSample.NewInstance(); - } else if (DerivedUnit.class.equals((key))) { - specimenOrObservation = DerivedUnit.NewInstance(); - } + NewDerivedUnitBaseWizard wizard = new NewDerivedUnitBaseWizard((SpecimenOrObservationType)key); + wizard.init(null, null); + if(wizard.getEntity() != null) { + WizardDialog dialog = new WizardDialog(BulkEditorUtil.getShell(), wizard); + int status = dialog.open(); - if (specimenOrObservation != null) { - specimenOrObservation.setTitleCache(text, true); - } + if (status == IStatus.OK) { + specimenOrObservation = wizard.getEntity(); + } + } return specimenOrObservation; } @@ -77,22 +74,27 @@ public class OccurrenceCreator implements */ @Override public Map getKeyLabelPairs() { - Map result = new HashMap(); - - //FIXME:3.3MC - result.put(DerivedUnit.class, "Specimen"); - result.put(DerivedUnit.class, "Observation"); - result.put(DerivedUnit.class, "Living Being"); - result.put(DerivedUnit.class, "Fossil"); - result.put(DerivedUnit.class, "Derived Unit"); - - // Omitted at the moment see #2266 - // result.put(DnaSample.class, "Dna Sample"); + Comparator comparator = new Comparator() { + public int compare(Object o1, Object o2) { + String key1 = ((SpecimenOrObservationType)o1).getKey(); + String key2 = ((SpecimenOrObservationType)o2).getKey(); + return key1.compareTo(key2); + } + }; + Map result = new TreeMap(comparator); - // Omitted see #2266 - // result.put(FieldObservation.class, "Field Observation"); - // result.put(Observation.class, "Observation"); + for(SpecimenOrObservationType sooType : SpecimenOrObservationType.values()) { + result.put(sooType, sooType.getMessage()); + } return result; } + + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return true; + } + + } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/ReferenceCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/ReferenceCreator.java index cee07a264..92d94ee4a 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/ReferenceCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/ReferenceCreator.java @@ -115,4 +115,10 @@ public class ReferenceCreator implements IEntityCreator { } return result; } + + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return false; + } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java index 2d8750ab3..d092ce03a 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java @@ -61,4 +61,10 @@ public class UserCreator implements IEntityCreator{ return result; } + @Override + public boolean savesEntity() { + // TODO Auto-generated method stub + return false; + } + } -- 2.34.1