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
.v522_523
;
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
.ColumnAdder
;
18 import eu
.etaxonomy
.cdm
.database
.update
.ColumnRemover
;
19 import eu
.etaxonomy
.cdm
.database
.update
.ISchemaUpdater
;
20 import eu
.etaxonomy
.cdm
.database
.update
.ISchemaUpdaterStep
;
21 import eu
.etaxonomy
.cdm
.database
.update
.SchemaUpdaterBase
;
22 import eu
.etaxonomy
.cdm
.database
.update
.SimpleSchemaUpdaterStep
;
23 import eu
.etaxonomy
.cdm
.database
.update
.TableDropper
;
24 import eu
.etaxonomy
.cdm
.database
.update
.v518_522
.SchemaUpdater_5186_5220
;
25 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmMetaData
.CdmVersion
;
31 public class SchemaUpdater_5220_5230
extends SchemaUpdaterBase
{
33 @SuppressWarnings("unused")
34 private static final Logger logger
= LogManager
.getLogger();
36 private static final CdmVersion startSchemaVersion
= CdmVersion
.V_05_22_00
;
37 private static final CdmVersion endSchemaVersion
= CdmVersion
.V_05_23_00
;
39 // ********************** FACTORY METHOD *************************************
41 public static SchemaUpdater_5220_5230
NewInstance() {
42 return new SchemaUpdater_5220_5230();
45 protected SchemaUpdater_5220_5230() {
46 super(startSchemaVersion
.versionString(), endSchemaVersion
.versionString());
50 protected List
<ISchemaUpdaterStep
> getUpdaterList() {
56 List
<ISchemaUpdaterStep
> stepList
= new ArrayList
<>();
59 //TaxonBase.secMicroReference
60 stepName
= "Remove TaxonBase.secMicroReference";
61 tableName
= "TaxonBase";
62 String oldColumnName
= "secMicroReference";
63 ColumnRemover
.NewInstance(stepList
, stepName
, tableName
, oldColumnName
, INCLUDE_AUDIT
);
66 stepName
= "Remove TaxonBase.sec_id";
67 tableName
= "TaxonBase";
68 oldColumnName
= "sec_id";
69 ColumnRemover
.NewInstance(stepList
, stepName
, tableName
, oldColumnName
, INCLUDE_AUDIT
);
71 //Classification.microreference
72 stepName
= "Remove Classification.microreference";
73 tableName
= "Classification";
74 oldColumnName
= "microreference";
75 ColumnRemover
.NewInstance(stepList
, stepName
, tableName
, oldColumnName
, INCLUDE_AUDIT
);
77 //Classification.reference_id
78 stepName
= "Remove Classification.reference_id";
79 tableName
= "Classification";
80 oldColumnName
= "reference_id";
81 ColumnRemover
.NewInstance(stepList
, stepName
, tableName
, oldColumnName
, INCLUDE_AUDIT
);
83 //DescriptionElementBase_OriginalSourceBase
84 stepName
= "Remove table DescriptionElementBase_OriginalSourceBase ";
85 tableName
= "DescriptionElementBase_OriginalSourceBase";
86 TableDropper
.NewInstance(stepList
, stepName
, tableName
, INCLUDE_AUDIT
);
88 //TaxonName_NomenclaturalStatus
89 stepName
= "Remove table TaxonName_NomenclaturalStatus ";
90 tableName
= "TaxonName_NomenclaturalStatus";
91 TableDropper
.NewInstance(stepList
, stepName
, tableName
, INCLUDE_AUDIT
);
93 //#9613 fix uuids for roles
94 stepName
= "Set uuid for role project manager";
95 String query
= "UPDATE @@GrantedAuthorityImpl@@ "
96 + " SET uuid = '6d0c72a5-0d8a-4f2e-a8e0-31d7e0338f00' "
97 + " WHERE authority = 'ROLE_PROJECT_MANAGER'";
98 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
100 stepName
= "Set uuid for role user manager";
101 query
= "UPDATE @@GrantedAuthorityImpl@@ "
102 + " SET uuid = '74d340a9-b472-4b97-b52a-c140e27a5c76' "
103 + " WHERE authority = 'ROLE_USER_MANAGER'";
104 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
106 stepName
= "Set uuid for role publish";
107 query
= "UPDATE @@GrantedAuthorityImpl@@ "
108 + " SET uuid = '9ffa7879-cc67-4592-a14a-b251cccde1a7' "
109 + " WHERE authority = 'ROLE_PUBLISH'";
110 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
112 //probably fixed already, but just in case
113 stepName
= "Set uuid for role project manager";
114 query
= "UPDATE @@GrantedAuthorityImpl@@ "
115 + " SET uuid = 'be004bf6-0498-48e3-9f06-ff93fc9cdc9a' "
116 + " WHERE authority = 'ROLE_REMOTING'";
117 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
119 //#9614 use underscore for role based group names
120 stepName
= "Use underscore for group Editor_Extended_Create";
121 query
= "UPDATE @@PermissionGroup@@ "
122 + " SET name = 'Editor_Extended_Create' "
123 + " WHERE name = 'EditorExtendedCreate'";
124 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
126 stepName
= "Use underscore for group Project_Manager";
127 query
= "UPDATE @@PermissionGroup@@ "
128 + " SET name = 'Project_Manager' "
129 + " WHERE name = 'ProjectManager'";
130 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
132 stepName
= "Use underscore for group Editor_Reference";
133 query
= "UPDATE @@PermissionGroup@@ "
134 + " SET name = 'Editor_Reference' "
135 + " WHERE name = 'Editor-Reference'";
136 SimpleSchemaUpdaterStep
.NewNonAuditedInstance(stepList
, stepName
, query
);
139 stepName
= "Add Taxon.conceptId";
140 tableName
= "TaxonBase";
141 newColumnName
= "conceptId";
142 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
146 stepName
= "Add Taxon.conceptDefinitions";
147 tableName
= "TaxonBase";
148 newColumnName
= "conceptDefinitions";
149 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
152 stepName
= "Add Taxon.conceptStatus";
153 tableName
= "TaxonBase";
154 newColumnName
= "conceptStatus";
155 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
158 stepName
= "Add Taxon.taxonTypes";
159 tableName
= "TaxonBase";
160 newColumnName
= "taxonTypes";
161 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
164 stepName
= "Add Taxon.currentConceptPeriod_start";
165 tableName
= "TaxonBase";
166 newColumnName
= "currentConceptPeriod_start";
167 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
169 stepName
= "Add Taxon.currentConceptPeriod_end";
170 tableName
= "TaxonBase";
171 newColumnName
= "currentConceptPeriod_end";
172 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
174 stepName
= "Add Taxon.currentConceptPeriod_freetext";
175 tableName
= "TaxonBase";
176 newColumnName
= "currentConceptPeriod_freetext";
177 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, INCLUDE_AUDIT
);
180 stepName
= "Rename ICNB to ICNP";
181 query
= "UPDATE @@TaxonName@@ "
182 + " SET nameType = 'ICNP' "
183 + " WHERE nameType = 'ICNB'";
184 SimpleSchemaUpdaterStep
.NewAuditedInstance(stepList
, stepName
, query
, "TaxonName");
191 public ISchemaUpdater
getPreviousUpdater() {
192 return SchemaUpdater_5186_5220
.NewInstance();