2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.cdm
.database
.update
.v515_518
;
11 import java
.util
.ArrayList
;
12 import java
.util
.List
;
14 import org
.apache
.logging
.log4j
.LogManager
;
15 import org
.apache
.logging
.log4j
.Logger
;
17 import eu
.etaxonomy
.cdm
.database
.update
.ISchemaUpdater
;
18 import eu
.etaxonomy
.cdm
.database
.update
.ISchemaUpdaterStep
;
19 import eu
.etaxonomy
.cdm
.database
.update
.SchemaUpdaterBase
;
20 import eu
.etaxonomy
.cdm
.database
.update
.SimpleSchemaUpdaterStep
;
21 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmMetaData
.CdmVersion
;
27 public class SchemaUpdater_5180_5181
extends SchemaUpdaterBase
{
29 @SuppressWarnings("unused")
30 private static final Logger logger
= LogManager
.getLogger();
32 private static final CdmVersion startSchemaVersion
= CdmVersion
.V_05_18_00
;
33 private static final CdmVersion endSchemaVersion
= CdmVersion
.V_05_18_01
;
35 // ********************** FACTORY METHOD *************************************
37 public static SchemaUpdater_5180_5181
NewInstance() {
38 return new SchemaUpdater_5180_5181();
41 protected SchemaUpdater_5180_5181() {
42 super(startSchemaVersion
.versionString(), endSchemaVersion
.versionString());
46 protected List
<ISchemaUpdaterStep
> getUpdaterList() {
50 List
<ISchemaUpdaterStep
> stepList
= new ArrayList
<>();
53 //move nomenclatural status reference to source
54 stepName
= "rename NomenclaturalSource";
55 String sql
= "UPDATE @@OriginalSourceBase@@ "
56 + " SET DTYPE = 'NomenclaturalSource', sourceType='NOR' "
57 + " WHERE id IN (SELECT nomenclaturalSource_id FROM @@TaxonName@@ WHERE nomenclaturalSource_id IS NOT NULL) ";
58 String sql_aud
= "UPDATE @@OriginalSourceBase_AUD@@ SET DTYPE = 'NomenclaturalSource', sourceType='NOR' WHERE id IN (SELECT nomenclaturalSource_id FROM @@TaxonName_AUD@@ WHERE nomenclaturalSource_id IS NOT NULL)";
59 SimpleSchemaUpdaterStep
.NewAuditedInstance(stepList
, stepName
, sql
, sql_aud
);
65 public ISchemaUpdater
getPreviousUpdater() {
66 return SchemaUpdater_5152_5180
.NewInstance();