Project

General

Profile

Download (11.2 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

    
10
package eu.etaxonomy.cdm.database.update.v47_49;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14
import java.util.UUID;
15

    
16
import org.apache.log4j.Logger;
17

    
18
import eu.etaxonomy.cdm.database.update.ColumnAdder;
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.TermRepresentationUpdater;
24
import eu.etaxonomy.cdm.database.update.v41_47.SchemaUpdater_41_47;
25

    
26
/**
27
/**
28
 * @author a.mueller
29
 * @date 09.06.2017
30
 *
31
 */
32
public class SchemaUpdater_47_49 extends SchemaUpdaterBase {
33

    
34
	@SuppressWarnings("unused")
35
	private static final Logger logger = Logger.getLogger(SchemaUpdater_47_49.class);
36
	private static final String endSchemaVersion = "4.9.0.0.20170710";
37
	private static final String startSchemaVersion = "4.7.0.0.201710040000";
38

    
39
	// ********************** FACTORY METHOD *************************************
40

    
41
	public static SchemaUpdater_47_49 NewInstance() {
42
		return new SchemaUpdater_47_49();
43
	}
44

    
45
	/**
46
	 * @param startSchemaVersion
47
	 * @param endSchemaVersion
48
	 */
49
	protected SchemaUpdater_47_49() {
50
		super(startSchemaVersion, endSchemaVersion);
51
	}
52

    
53
	@Override
54
	protected List<ISchemaUpdaterStep> getUpdaterList() {
55

    
56
		String stepName;
57
		String tableName;
58
		ISchemaUpdaterStep step;
59
		String newColumnName;
60

    
61
		List<ISchemaUpdaterStep> stepList = new ArrayList<>();
62

    
63
		//#7109 nom. valid => nom. val.
64
		stepName = "nom valid => nom. val. (abbrevLabel)";
65
		UUID uuidTerm = UUID.fromString("bd036217-5499-4ccd-8f4c-72e06158db93");
66
		UUID uuidLanguage = UUID.fromString("160a5b6c-87f5-4422-9bda-78cd404c179e");
67
		step = TermRepresentationUpdater.NewInstance(stepName, uuidTerm,
68
		        null, null, "nom. val.", uuidLanguage);
69
		stepList.add(step);
70

    
71
		stepName = "nom valid => nom. val. (idInVocabulary)";
72
        String query = "UPDATE @@DefinedTermBase@@ SET idInVocabulary = 'nom. val.' WHERE uuid = '" + uuidTerm + "'";
73
		tableName = "DefinedTermBase";
74
		step = SimpleSchemaUpdaterStep.NewAuditedInstance(stepName, query, tableName, -99);
75
		stepList.add(step);
76

    
77
		//#7096 Add second symbol attribute to DefinedTermBase
78
		stepName = "Add second symbol to DefinedTermBase";
79
		tableName = "DefinedTermBase";
80
		newColumnName = "symbol2";
81
		int length = 30;
82
		step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, length, INCLUDE_AUDIT);
83
		stepList.add(step);
84

    
85

    
86

    
87
//        //#5149 remove unique index on Sequence_Reference.citations_id
88
//        tableName = "Sequence_Reference";
89
//        String columnName = "citations_id";
90
//        step = UniqueIndexDropper.NewInstance(tableName, columnName, !INCLUDE_AUDIT);
91
//        stepList.add(step);
92
//
93
//
94
//        //#6340 nom status invalid updater
95
//        step = NomStatusInvalidUpdater.NewInstance();
96
//        stepList.add(step);
97
//
98
//		//#6529
99
//		//Extend WorkingSet to allow a more fine grained definiton of taxon set
100
//		//min rank
101
//        stepName = "Add minRank column";
102
//        tableName = "WorkingSet";
103
//        newColumnName = "minRank_id";
104
//        String referencedTable = "DefinedTermBase";
105
//        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL, referencedTable);
106
//        stepList.add(step);
107
//
108
//        //max rank
109
//        stepName = "Add maxRank column";
110
//        tableName = "WorkingSet";
111
//        newColumnName = "maxRank_id";
112
//        referencedTable = "DefinedTermBase";
113
//        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL, referencedTable);
114
//        stepList.add(step);
115
//
116
//        //subtree filter
117
//        stepName= "Add geo filter MN table to WorkingSet";
118
//        String firstTableName = "WorkingSet";
119
//        String secondTableAlias = "NamedArea";
120
//        String secondTableName = "DefinedTermBase";
121
//        String attributeName = "geoFilter";
122
//        boolean isList = ! IS_LIST;
123
//        step = MnTableCreator.NewMnInstance(stepName, firstTableName, null, secondTableName, secondTableAlias, attributeName, INCLUDE_AUDIT, isList, IS_M_TO_M);
124
//        stepList.add(step);
125
//
126
//        //subtree filter
127
//        stepName= "Add subtree filter MN table to WorkingSet";
128
//        firstTableName = "WorkingSet";
129
//        secondTableName = "TaxonNode";
130
//        secondTableAlias = null;
131
//        attributeName = "taxonSubtreeFilter";
132
//        isList = ! IS_LIST;
133
//        step = MnTableCreator.NewMnInstance(stepName, firstTableName, null, secondTableName, secondTableAlias, attributeName, INCLUDE_AUDIT, isList, IS_M_TO_M);
134
//        stepList.add(step);
135
//
136
//        //#6258
137
//        stepName = "Add Registration table";
138
//        tableName = "Registration";
139
//        String[] columnNames = new String[]{"identifier","specificIdentifier","registrationDate","status",
140
//                "institution_id","name_id","submitter_id"};
141
//        String[] referencedTables = new String[]{null, null, null, null,
142
//                "AgentBase","TaxonNameBase","UserAccount"};
143
//        String[] columnTypes = new String[]{"string_255","string_255","datetime","string_10","int","int","int"};
144
//        step = TableCreator.NewAnnotatableInstance(stepName, tableName,
145
//                columnNames, columnTypes, referencedTables, INCLUDE_AUDIT);
146
//        stepList.add(step);
147
//
148
//        //add blockedBy_id
149
//        stepName= "Add blockedBy_id to Registration";
150
//        firstTableName = "Registration";
151
//        secondTableName = "Registration";
152
//        attributeName = "blockedBy";
153
//        isList = ! IS_LIST;
154
//        step = MnTableCreator.NewMnInstance(stepName, firstTableName, null, secondTableName, null, attributeName, INCLUDE_AUDIT, isList, IS_M_TO_M);
155
//        stepList.add(step);
156
//
157
//        //add type designations
158
//        stepName= "Add type designations to Registration";
159
//        firstTableName = "Registration";
160
//        String firstColumnName = "registrations";
161
//        secondTableName = "TypeDesignationBase";
162
//        attributeName = "typeDesignations";
163
//        isList = false;
164
//        step = MnTableCreator.NewMnInstance(stepName, firstTableName, null, firstColumnName, secondTableName, null, attributeName, INCLUDE_AUDIT, isList, IS_M_TO_M);
165
//        stepList.add(step);
166
//
167
//        //#5258
168
//        //Add "accessed" to Reference
169
//        stepName = "Add 'accessed' to Reference";
170
//        tableName = "Reference";
171
//        newColumnName = "accessed";
172
//        step = ColumnAdder.NewDateTimeInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL);
173
//        stepList.add(step);
174
//
175
//        //#6618 Add structure column to DefinedTermBase (Character)
176
//        stepName = "Add structure column to DefinedTermBase (Character)";
177
//        tableName = "DefinedTermBase";
178
//        newColumnName = "structure_id";
179
//        referencedTable = "FeatureNode";
180
//        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL, referencedTable);
181
//        stepList.add(step);
182
//
183
//        //#6618 Add property column to DefinedTermBase (Character)
184
//        stepName = "Add property column to DefinedTermBase (Character)";
185
//        tableName = "DefinedTermBase";
186
//        newColumnName = "property_id";
187
//        referencedTable = "FeatureNode";
188
//        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL, referencedTable);
189
//        stepList.add(step);
190
//
191
//        //##6661 Add initials to agent base
192
//        stepName = "Add initials to AgentBase";
193
//        tableName = "AgentBase";
194
//        newColumnName = "initials";
195
//        int length = 80;
196
//        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, length, INCLUDE_AUDIT);
197
//        stepList.add(step);
198
//
199
//        stepName = "Update initials and firstname";
200
//        step = InitialsUpdater.NewInstance();
201
//        stepList.add(step);
202
//
203
//        //#6663
204
//        //Add "lastRetrieved" to Reference
205
//        stepName = "Add 'lastRetrieved' to Reference";
206
//        tableName = "Reference";
207
//        newColumnName = "lastRetrieved";
208
//        step = ColumnAdder.NewDateTimeInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL);
209
//        stepList.add(step);
210
//
211
//        stepName = "Add externalId to Reference";
212
//        tableName = "Reference";
213
//        newColumnName = "externalId";
214
//        length = 255;
215
//        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, length, INCLUDE_AUDIT);
216
//        stepList.add(step);
217
//
218
//        stepName = "Add externalLink to Reference";
219
//        tableName = "Reference";
220
//        newColumnName = "externalLink";
221
//        step = ColumnAdder.NewClobInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT);
222
//        stepList.add(step);
223
//
224
//        stepName = "Add authorityType to Reference";
225
//        tableName = "Reference";
226
//        newColumnName = "authorityType";
227
//        length = 10;
228
//        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, length, INCLUDE_AUDIT);
229
//        stepList.add(step);
230
//
231
//        //#6472 add key to IntextReference
232
//        stepName = "Add key to IntextReference";
233
//        tableName = "IntextReference";
234
//        newColumnName = "key_id";
235
//        referencedTable = "PolytomousKey";
236
//        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, !NOT_NULL, referencedTable);
237
//        stepList.add(step);
238
//
239
//        //#5817 rename relationshipTermBase_inverseRepresentation
240
//        stepName = "Rename relationshipTermBase_inverseRepresentation";
241
//        String oldName = "RelationshipTermBase_inverseRepresentation";
242
//        String newName = "TermBase_inverseRepresentation";
243
//        step = TableNameChanger.NewInstance(stepName, oldName, newName, INCLUDE_AUDIT);
244
//        stepList.add(step);
245
//
246
//        //#5817 rename TermBase_inverseRepresentation.relationshipTermBase_id
247
//        stepName = "Rename relationshipTermBase_inverseRepresentation.relationshipTermBase_id";
248
//        tableName = newName;
249
//        String oldColumnName = "relationshipTermBase_id";
250
//        newColumnName = "term_id";
251
//        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
252
//        stepList.add(step);
253
//
254
//        //#6226 remove orphaned PolytomousKeyNodes
255
//        stepName = "remove orphaned PolytomousKeyNodes";
256
//        String query = " DELETE FROM @@PolytomousKeyNode@@ WHERE key_id NOT IN (SELECT id FROM @@PolytomousKey@@)";
257
//        String aud_query = " DELETE FROM @@PolytomousKeyNode_AUD@@ WHERE key_id NOT IN (SELECT id FROM @@PolytomousKey_AUD@@)";
258
//        step = SimpleSchemaUpdaterStep.NewExplicitAuditedInstance(stepName, query, aud_query, -99);
259
//        stepList.add(step);
260

    
261
        return stepList;
262
    }
263

    
264

    
265
    @Override
266
	public ISchemaUpdater getNextUpdater() {
267
		return null;
268
	}
269

    
270
	@Override
271
	public ISchemaUpdater getPreviousUpdater() {
272
		return SchemaUpdater_41_47.NewInstance();
273
	}
274

    
275
}
    (1-1/1)