orth. correction for undefined language
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / v25_30 / TermUpdater_25_30.java
1 // $Id$
2 /**
3 * Copyright (C) 2009 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 package eu.etaxonomy.cdm.database.update.v25_30;
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.ITermUpdater;
19 import eu.etaxonomy.cdm.database.update.ITermUpdaterStep;
20 import eu.etaxonomy.cdm.database.update.SingleTermUpdater;
21 import eu.etaxonomy.cdm.database.update.TermUpdaterBase;
22 import eu.etaxonomy.cdm.database.update.VocabularyCreator;
23 import eu.etaxonomy.cdm.database.update.v24_25.TermUpdater_24_25;
24 import eu.etaxonomy.cdm.database.update.v30_31.TermUpdater_30_31;
25 import eu.etaxonomy.cdm.model.common.Language;
26 import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
27
28 /**
29 * @author a.mueller
30 * @date 10.09.2010
31 *
32 */
33 public class TermUpdater_25_30 extends TermUpdaterBase implements ITermUpdater {
34 @SuppressWarnings("unused")
35 private static final Logger logger = Logger.getLogger(TermUpdater_25_30.class);
36
37 public static final String startTermVersion = "2.5.0.0.201009211255";
38 private static final String endTermVersion = "3.0.0.0.201011170000";
39
40 // *************************** FACTORY **************************************/
41
42 public static TermUpdater_25_30 NewInstance(){
43 return new TermUpdater_25_30(startTermVersion, endTermVersion);
44 }
45
46 // *************************** CONSTRUCTOR ***********************************/
47
48 protected TermUpdater_25_30(String startTermVersion, String endTermVersion) {
49 super(startTermVersion, endTermVersion);
50 }
51
52 //
53
54 /* (non-Javadoc)
55 * @see eu.etaxonomy.cdm.database.update.ICdmUpdater#invoke()
56 */
57 @Override
58 protected List<ITermUpdaterStep> getUpdaterList() {
59 List<ITermUpdaterStep> list = new ArrayList<ITermUpdaterStep>();
60
61 // cf.
62 UUID uuidTerm = DeterminationModifier.uuidConfer;
63 String description = "Confer";
64 String label = "confer";
65 String abbrev = "cf.";
66 String dtype = DeterminationModifier.class.getSimpleName();
67 UUID uuidVocabulary = UUID.fromString("fe87ea8d-6e0a-4e5d-b0da-0ab8ea67ca77");
68 UUID uuidAfterTerm = null ; //UUID.fromString("");
69 list.add( SingleTermUpdater.NewInstance("Add 'confer (cf.)' determination modifier", uuidTerm, description, label, abbrev, dtype, uuidVocabulary, Language.uuidLatin, true, uuidAfterTerm));
70
71
72 // aff.
73 uuidTerm = DeterminationModifier.uuidAffinis;
74 description = "Affinis";
75 label = "affinis";
76 abbrev = "aff.";
77 dtype = DeterminationModifier.class.getSimpleName();
78 uuidVocabulary = UUID.fromString("fe87ea8d-6e0a-4e5d-b0da-0ab8ea67ca77");
79 uuidAfterTerm = DeterminationModifier.uuidConfer;
80 list.add( SingleTermUpdater.NewInstance("Add 'affinis (aff.)' determination modifier", uuidTerm, description, label, abbrev, dtype, uuidVocabulary, Language.uuidLatin, true, uuidAfterTerm));
81
82
83 //undefined languages vocabulary
84 UUID uuidUndefLanguagesVoc = UUID.fromString("7fd1e6d0-2e76-4dfa-bad9-2673dd042c28");
85 description = "Undefined Language";
86 label = "Undefined Language";
87 abbrev = "undef. lang.";
88 boolean isOrdered = false;
89 Class termClass = Language.class;
90 VocabularyCreator updater = VocabularyCreator.NewVocabularyInstance(uuidUndefLanguagesVoc, description, label, abbrev, isOrdered, termClass);
91 list.add(updater);
92
93 // unknown language
94 uuidTerm = Language.uuidUnknownLanguage;
95 description = "Unknown Language";
96 label = "unknown";
97 abbrev = "unk";
98 dtype = Language.class.getSimpleName();
99 uuidVocabulary = uuidUndefLanguagesVoc;
100 uuidAfterTerm = null;
101 UUID uuidLanguageOfRepresentation = Language.uuidEnglish;
102 isOrdered = false;
103 list.add( SingleTermUpdater.NewInstance("Add 'unknown Lanugage' to language vocabulary", uuidTerm, description, label, abbrev, dtype, uuidVocabulary, uuidLanguageOfRepresentation, isOrdered, uuidAfterTerm));
104
105 // original language
106 uuidTerm = Language.uuidOriginalLanguage;
107 description = "Original Language";
108 label = "original";
109 abbrev = "org";
110 dtype = Language.class.getSimpleName();
111 uuidVocabulary = uuidUndefLanguagesVoc;
112 uuidAfterTerm = Language.uuidUnknownLanguage; //needed ?
113 uuidLanguageOfRepresentation = Language.uuidEnglish;
114 isOrdered = false;
115 list.add( SingleTermUpdater.NewInstance("Add 'original language' to language vocabulary", uuidTerm, description, label, abbrev, dtype, uuidVocabulary, uuidLanguageOfRepresentation, isOrdered, uuidAfterTerm));
116
117
118 return list;
119 }
120
121
122 /* (non-Javadoc)
123 * @see eu.etaxonomy.cdm.database.update.ICdmUpdater#getNextUpdater()
124 */
125 @Override
126 public ITermUpdater getNextUpdater() {
127 return TermUpdater_30_31.NewInstance();
128 }
129
130 /* (non-Javadoc)
131 * @see eu.etaxonomy.cdm.database.update.ICdmUpdater#getPreviousUpdater()
132 */
133 @Override
134 public ITermUpdater getPreviousUpdater() {
135 return TermUpdater_24_25.NewInstance();
136 }
137
138 }