Project

General

Profile

Download (7.79 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2007 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 *
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.
8
 */
9
package eu.etaxonomy.cdm.database.update.v522_523;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13

    
14
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.database.update.ColumnAdder;
17
import eu.etaxonomy.cdm.database.update.ColumnRemover;
18
import eu.etaxonomy.cdm.database.update.ISchemaUpdater;
19
import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep;
20
import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase;
21
import eu.etaxonomy.cdm.database.update.SimpleSchemaUpdaterStep;
22
import eu.etaxonomy.cdm.database.update.TableDropper;
23
import eu.etaxonomy.cdm.database.update.v518_522.SchemaUpdater_5186_5220;
24
import eu.etaxonomy.cdm.model.metadata.CdmMetaData.CdmVersion;
25

    
26
/**
27
 * @author a.mueller
28
 * @date 22.04.2021
29
 */
30
public class SchemaUpdater_5220_5230 extends SchemaUpdaterBase {
31

    
32
	@SuppressWarnings("unused")
33
	private static final Logger logger = LogManager.getLogger(SchemaUpdater_5220_5230.class);
34

    
35
	private static final CdmVersion startSchemaVersion = CdmVersion.V_05_22_00;
36
	private static final CdmVersion endSchemaVersion = CdmVersion.V_05_23_00;
37

    
38
// ********************** FACTORY METHOD *************************************
39

    
40
	public static SchemaUpdater_5220_5230 NewInstance() {
41
		return new SchemaUpdater_5220_5230();
42
	}
43

    
44
	protected SchemaUpdater_5220_5230() {
45
		super(startSchemaVersion.versionString(), endSchemaVersion.versionString());
46
	}
47

    
48
	@Override
49
	protected List<ISchemaUpdaterStep> getUpdaterList() {
50

    
51
		String stepName;
52
		String tableName;
53
		String newColumnName;
54

    
55
		List<ISchemaUpdaterStep> stepList = new ArrayList<>();
56

    
57
        //#9536
58
        //TaxonBase.secMicroReference
59
        stepName = "Remove TaxonBase.secMicroReference";
60
        tableName = "TaxonBase";
61
        String oldColumnName = "secMicroReference";
62
        ColumnRemover.NewInstance(stepList, stepName, tableName, oldColumnName, INCLUDE_AUDIT);
63

    
64
        //TaxonBase.sec_id
65
        stepName = "Remove TaxonBase.sec_id";
66
        tableName = "TaxonBase";
67
        oldColumnName = "sec_id";
68
        ColumnRemover.NewInstance(stepList, stepName, tableName, oldColumnName, INCLUDE_AUDIT);
69

    
70
        //Classification.microreference
71
        stepName = "Remove Classification.microreference";
72
        tableName = "Classification";
73
        oldColumnName = "microreference";
74
        ColumnRemover.NewInstance(stepList, stepName, tableName, oldColumnName, INCLUDE_AUDIT);
75

    
76
        //Classification.reference_id
77
        stepName = "Remove Classification.reference_id";
78
        tableName = "Classification";
79
        oldColumnName = "reference_id";
80
        ColumnRemover.NewInstance(stepList, stepName, tableName, oldColumnName, INCLUDE_AUDIT);
81

    
82
        //DescriptionElementBase_OriginalSourceBase
83
        stepName = "Remove table DescriptionElementBase_OriginalSourceBase ";
84
        tableName = "DescriptionElementBase_OriginalSourceBase";
85
        TableDropper.NewInstance(stepList, stepName, tableName, INCLUDE_AUDIT);
86

    
87
        //TaxonName_NomenclaturalStatus
88
        stepName = "Remove table TaxonName_NomenclaturalStatus ";
89
        tableName = "TaxonName_NomenclaturalStatus";
90
        TableDropper.NewInstance(stepList, stepName, tableName, INCLUDE_AUDIT);
91

    
92
        //#9613 fix uuids for roles
93
        stepName = "Set uuid for role project manager";
94
        String query = "UPDATE @@GrantedAuthorityImpl@@ "
95
                + " SET uuid = '6d0c72a5-0d8a-4f2e-a8e0-31d7e0338f00' "
96
                + " WHERE authority = 'ROLE_PROJECT_MANAGER'";
97
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
98

    
99
        stepName = "Set uuid for role user manager";
100
        query = "UPDATE @@GrantedAuthorityImpl@@ "
101
                + " SET uuid = '74d340a9-b472-4b97-b52a-c140e27a5c76' "
102
                + " WHERE authority = 'ROLE_USER_MANAGER'";
103
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
104

    
105
        stepName = "Set uuid for role publish";
106
        query = "UPDATE @@GrantedAuthorityImpl@@ "
107
                + " SET uuid = '9ffa7879-cc67-4592-a14a-b251cccde1a7' "
108
                + " WHERE authority = 'ROLE_PUBLISH'";
109
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
110

    
111
        //probably fixed already, but just in case
112
        stepName = "Set uuid for role project manager";
113
        query = "UPDATE @@GrantedAuthorityImpl@@ "
114
                + " SET uuid = 'be004bf6-0498-48e3-9f06-ff93fc9cdc9a' "
115
                + " WHERE authority = 'ROLE_REMOTING'";
116
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
117

    
118
        //#9614 use underscore for role based group names
119
        stepName = "Use underscore for group Editor_Extended_Create";
120
        query = "UPDATE @@PermissionGroup@@ "
121
                + " SET name = 'Editor_Extended_Create' "
122
                + " WHERE name = 'EditorExtendedCreate'";
123
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
124

    
125
        stepName = "Use underscore for group Project_Manager";
126
        query = "UPDATE @@PermissionGroup@@ "
127
                + " SET name = 'Project_Manager' "
128
                + " WHERE name = 'ProjectManager'";
129
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
130

    
131
        stepName = "Use underscore for group Editor_Reference";
132
        query = "UPDATE @@PermissionGroup@@ "
133
                + " SET name = 'Editor_Reference' "
134
                + " WHERE name = 'Editor-Reference'";
135
        SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepList, stepName, query, -99);
136

    
137
        //#9619
138
        stepName = "Add Taxon.conceptId";
139
        tableName = "TaxonBase";
140
        newColumnName = "conceptId";
141
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
142

    
143

    
144
        //#9619
145
        stepName = "Add Taxon.conceptDefinitions";
146
        tableName = "TaxonBase";
147
        newColumnName = "conceptDefinitions";
148
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
149

    
150
        //#9619
151
        stepName = "Add Taxon.conceptStatus";
152
        tableName = "TaxonBase";
153
        newColumnName = "conceptStatus";
154
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
155

    
156
        //#9619
157
        stepName = "Add Taxon.taxonTypes";
158
        tableName = "TaxonBase";
159
        newColumnName = "taxonTypes";
160
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
161

    
162
        //#9619
163
        stepName = "Add Taxon.currentConceptPeriod_start";
164
        tableName = "TaxonBase";
165
        newColumnName = "currentConceptPeriod_start";
166
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
167

    
168
        stepName = "Add Taxon.currentConceptPeriod_end";
169
        tableName = "TaxonBase";
170
        newColumnName = "currentConceptPeriod_end";
171
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
172

    
173
        stepName = "Add Taxon.currentConceptPeriod_freetext";
174
        tableName = "TaxonBase";
175
        newColumnName = "currentConceptPeriod_freetext";
176
        ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT);
177

    
178
        //#9617
179
        stepName = "Rename ICNB to ICNP";
180
        query = "UPDATE @@TaxonName@@ "
181
                + " SET nameType = 'ICNP' "
182
                + " WHERE nameType = 'ICNB'";
183
        SimpleSchemaUpdaterStep.NewAuditedInstance(stepList, stepName, query, "TaxonName", -99);
184

    
185

    
186
        return stepList;
187
    }
188

    
189
    @Override
190
    public ISchemaUpdater getPreviousUpdater() {
191
        return SchemaUpdater_5186_5220.NewInstance();
192
    }
193
}
    (1-1/1)