Project

General

Profile

Download (4.7 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
 * Copyright (C) 2007 EDIT
4
 * European Distributed Institute of Taxonomy
5
 * http://www.e-taxonomy.eu
6
 *
7
 * The contents of this file are subject to the Mozilla Public License Version 1.1
8
 * See LICENSE.TXT at the top of this package for the full license terms.
9
 */
10

    
11
package eu.etaxonomy.cdm.database.update.v35_36;
12

    
13
import java.util.ArrayList;
14
import java.util.List;
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.MnTableRemover;
22
import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase;
23
import eu.etaxonomy.cdm.database.update.UniqueIndexDropper;
24
import eu.etaxonomy.cdm.database.update.v34_35.SchemaUpdater_341_35;
25

    
26
/**
27
 * @author a.mueller
28
 * @created Mar 01, 2015
29
 */
30
public class SchemaUpdater_35_36 extends SchemaUpdaterBase {
31

    
32
	@SuppressWarnings("unused")
33
	private static final Logger logger = Logger.getLogger(SchemaUpdater_35_36.class);
34
	private static final String startSchemaVersion = "3.5.0.0.201531030000";
35
	private static final String endSchemaVersion = "3.6.0.0.201527040000";
36

    
37
	// ********************** FACTORY METHOD *************************************
38

    
39
	public static SchemaUpdater_35_36 NewInstance() {
40
		return new SchemaUpdater_35_36();
41
	}
42

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

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

    
54
		String stepName;
55
		String tableName;
56
		ISchemaUpdaterStep step;
57
//		String columnName;
58
		String newColumnName;
59
		String oldColumnName;
60
		String query;
61
		String columnNames[];
62
		String referencedTables[];
63
		String columnTypes[];
64
//		boolean includeCdmBaseAttributes = false;
65

    
66
		List<ISchemaUpdaterStep> stepList = new ArrayList<ISchemaUpdaterStep>();
67

    
68
		//add hasMoreMembers
69
		stepName = "Add hasMoreMembers to Team";
70
		tableName = "AgentBase";
71
		newColumnName = "hasMoreMembers";
72
		step = ColumnAdder.NewBooleanInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, false);
73
		stepList.add(step);
74

    
75
        //#4843  TODO test
76
        //Allow NULL for DefinedTermBase_SupportedCategoricalEnumeration
77
		//.supportedcategoricalenumerations_id
78
        stepName = "Remove NOT NULL from supportedcategoricalenumerations_id";
79
        tableName = "DefinedTermBase_SupportedCategoricalEnumeration";
80
        oldColumnName = "supportedcategoricalenumerations_id";
81
        step = UniqueIndexDropper.NewInstance(tableName, oldColumnName, !INCLUDE_AUDIT);
82
        stepList.add(step);
83

    
84
        //#4843  TODO test
85
        //Allow NULL for DefinedTermBase_RecommendedModifierEnumeration
86
        //.recommendedmodifierenumeration_id
87
        stepName = "Remove NOT NULL from recommendedmodifierenumeration_id";
88
        tableName = "DefinedTermBase_RecommendedModifierEnumeration";
89
        oldColumnName = "recommendedmodifierenumeration_id";
90
        step = UniqueIndexDropper.NewInstance(tableName, oldColumnName, ! INCLUDE_AUDIT);
91
        stepList.add(step);
92

    
93
        //SingleReadAlignment firstSeqPosition
94
        stepName = "Add firstSeqPosition";
95
        tableName = "SingleReadAlignment";
96
        newColumnName = "firstSeqPosition";
97
        Integer defaultValue = null;
98
        boolean notNull = false;
99
        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
100

    
101
        //SingleReadAlignment leftCutPosition
102
        stepName = "Add firstSeqPosition";
103
        tableName = "SingleReadAlignment";
104
        newColumnName = "leftCutPosition";
105
        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
106

    
107

    
108
        //SingleReadAlignment leftCutPosition
109
        stepName = "Add firstSeqPosition";
110
        tableName = "SingleReadAlignment";
111
        newColumnName = "rightCutPosition";
112
        step = ColumnAdder.NewIntegerInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
113

    
114
        //DescriptionElementBase_StateData
115
        stepName = "Simplify DescriptionElementBase_StateData";
116
        tableName = "DescriptionElementBase_StateData";
117
        newColumnName = "rightCutPosition";
118
        step = MnTableRemover.NewInstance(stepName,
119
                tableName,
120
                "categoricaldata_id",
121
                "DescriptionElementBase_id",
122
                "statedata_id",
123
                "DescriptionElementBase",
124
                "StateData",
125
                INCLUDE_AUDIT);
126

    
127

    
128
		return stepList;
129
	}
130

    
131

    
132
	@Override
133
	public ISchemaUpdater getNextUpdater() {
134
		return null;
135
	}
136

    
137
	@Override
138
	public ISchemaUpdater getPreviousUpdater() {
139
		return SchemaUpdater_341_35.NewInstance();
140
	}
141

    
142
}
(1-1/2)