Project

General

Profile

Download (10.8 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.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.TermRepresentationUpdater;
23
import eu.etaxonomy.cdm.database.update.v41_47.SchemaUpdater_41_47;
24

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

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

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

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

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

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

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

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

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

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

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

    
250
        return stepList;
251
    }
252

    
253

    
254
    @Override
255
	public ISchemaUpdater getNextUpdater() {
256
		return null;
257
	}
258

    
259
	@Override
260
	public ISchemaUpdater getPreviousUpdater() {
261
		return SchemaUpdater_41_47.NewInstance();
262
	}
263

    
264
}
    (1-1/1)