ref #8162 move FeatureTree and FeatureNode to term package
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / v36_40 / ReferencedObjTypeUpdater.java
index 74a24f46172064596a3842a37f4170eaddb6677b..df125bce0b12e7df6f4d9d6566ba49f3a5c876d5 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2009 EDIT
 * European Distributed Institute of Taxonomy
@@ -19,7 +18,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
 import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.database.update.CaseType;
-import eu.etaxonomy.cdm.database.update.ITermUpdaterStep;
+import eu.etaxonomy.cdm.database.update.SchemaUpdateResult;
 import eu.etaxonomy.cdm.database.update.SchemaUpdaterStepBase;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
@@ -30,7 +29,6 @@ import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
 import eu.etaxonomy.cdm.model.common.Annotation;
 import eu.etaxonomy.cdm.model.common.AnnotationType;
 import eu.etaxonomy.cdm.model.common.Credit;
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.EventBase;
 import eu.etaxonomy.cdm.model.common.ExtensionType;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
@@ -40,20 +38,14 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.LanguageStringBase;
 import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.OrderedTerm;
-import eu.etaxonomy.cdm.model.common.OrderedTermBase;
-import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
 import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
 import eu.etaxonomy.cdm.model.common.RelationshipBase;
 import eu.etaxonomy.cdm.model.common.RelationshipTermBase;
-import eu.etaxonomy.cdm.model.common.Representation;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.description.CategoricalData;
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
 import eu.etaxonomy.cdm.model.description.MediaKey;
@@ -70,7 +62,7 @@ import eu.etaxonomy.cdm.model.description.TaxonInteraction;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.description.TextData;
 import eu.etaxonomy.cdm.model.description.TextFormat;
-import eu.etaxonomy.cdm.model.description.WorkingSet;
+import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
 import eu.etaxonomy.cdm.model.location.Country;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
@@ -88,9 +80,6 @@ import eu.etaxonomy.cdm.model.molecular.PhylogeneticTree;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
-import eu.etaxonomy.cdm.model.name.BacterialName;
-import eu.etaxonomy.cdm.model.name.BotanicalName;
-import eu.etaxonomy.cdm.model.name.CultivarPlantName;
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
 import eu.etaxonomy.cdm.model.name.HybridRelationship;
 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
@@ -100,13 +89,11 @@ import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
 import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
-import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
+import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
-import eu.etaxonomy.cdm.model.name.ViralName;
-import eu.etaxonomy.cdm.model.name.ZoologicalName;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
 import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
@@ -126,6 +113,13 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
+import eu.etaxonomy.cdm.model.term.OrderedTerm;
+import eu.etaxonomy.cdm.model.term.OrderedTermBase;
+import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;
+import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
 
 
 /**
@@ -133,9 +127,9 @@ import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
  * Not needed anymore as long as we gave up bidirectionality #5743
  *
  * @author a.mueller
- * @date 25.04.2016
+ * @since 25.04.2016
  */
-public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedObjTypeUpdater> implements ITermUpdaterStep{
+public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase{
        private static final Logger logger = Logger.getLogger(ReferencedObjTypeUpdater.class);
 
        private static final String stepName = "Update referenced obj_type";
@@ -150,8 +144,9 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
                super(stepName);
        }
 
-       @Override
-       public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {
+    @Override
+    public void invoke(ICdmDataSource datasource, IProgressMonitor monitor,
+            CaseType caseType, SchemaUpdateResult result) throws SQLException {
 
            //TODO should better be read from eu.etaxonomy.cdm.model.common.package-info @AnyMetaDef
                try {
@@ -181,7 +176,7 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
                            TaxonNameDescription.class,
                            TextData.class,
                            TextFormat.class,
-                           WorkingSet.class,
+                           DescriptiveDataSet.class,
                            Country.class,
                            NamedArea.class,
                            NamedAreaLevel.class,
@@ -198,9 +193,9 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
                            Primer.class,
                            Sequence.class,
                            SingleRead.class,
-                           BacterialName.class,
-                           BotanicalName.class,
-                           CultivarPlantName.class,
+//                         BacterialName.class,
+//                         BotanicalName.class,
+//                         CultivarPlantName.class,
                            HomotypicalGroup.class,
                            HybridRelationship.class,
                            HybridRelationshipType.class,
@@ -210,12 +205,13 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
                 NameTypeDesignation.class,
                            NomenclaturalStatus.class,
                            NomenclaturalStatusType.class,
-                           NonViralName.class,
+//                         NonViralName.class,
                            Rank.class,
                            SpecimenTypeDesignationStatus.class,
                 SpecimenTypeDesignation.class,
-                ViralName.class,
-                           ZoologicalName.class,
+//                ViralName.class,
+//                         ZoologicalName.class,
+                TaxonName.class,
                            Collection.class,
                            DerivationEvent.class,
                            DerivationEventType.class,
@@ -257,12 +253,14 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
                            updateSingleClass(datasource, monitor, caseType, annotatableClass);
                        }
 
-                       return 0;
+                       return;
 
                } catch (Exception e) {
-                       monitor.warning(e.getMessage(), e);
-                       logger.warn(e.getMessage());
-                       return null;
+                   String message = e.getMessage();
+            monitor.warning(message, e);
+            logger.warn(message);
+            result.addException(e, message, this, "invoke");
+            return;
                }
        }
 
@@ -320,6 +318,10 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
         if (tableName.equals("Rights")){
             tableName = "RightsInfo";
         }
+        if (tableName.equals("TaxonName")){
+            tableName = "TaxonNameBase";
+        }
+
         String casedTable = caseType.transformTo(table);
         String mnTable = caseType.transformTo(tableName + "_" + table);
         return sql.replace("@table", casedTable)
@@ -402,7 +404,7 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
         }
     }
 
-    private static Map<Class, Class> specificClasses = new HashMap<Class, Class>();
+    private static Map<Class, Class> specificClasses = new HashMap<>();
     static{
         specificClasses.put(TeamOrPersonBase.class, AgentBase.class);
         specificClasses.put(TermVocabulary.class, TermVocabulary.class);
@@ -412,9 +414,6 @@ public class ReferencedObjTypeUpdater extends SchemaUpdaterStepBase<ReferencedOb
         specificClasses.put(Rights.class, Rights.class);
         specificClasses.put(RelationshipTermBase.class, DefinedTermBase.class);
 
-
-
-
     }
 
 }