Revision 6ab31377
Added by Andreas Müller over 13 years ago
.gitattributes | ||
---|---|---|
961 | 961 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v25_30/SchemaUpdater_25_30.java -text |
962 | 962 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v25_30/SequenceTableCreator.java -text |
963 | 963 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v25_30/TermUpdater_25_30.java -text |
964 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/LanguageLabelUpdater.java -text |
|
965 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/TermUpdater_30_31.java -text |
|
964 | 966 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/AbstractBeanInitializer.java -text |
965 | 967 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/AutoPropertyInitializer.java -text |
966 | 968 |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/BeanInitializer.java -text |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/CdmMetaData.java | ||
---|---|---|
78 | 78 |
* |
79 | 79 |
* The last number represents the date of change. |
80 | 80 |
*/ |
81 |
private static final String termsVersion = "3.0.0.0.201011170000";
|
|
81 |
private static final String termsVersion = "3.0.1.0.201012150000";
|
|
82 | 82 |
|
83 | 83 |
|
84 | 84 |
public enum MetaDataPropertyName{ |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/NonViralName.java | ||
---|---|---|
33 | 33 |
import javax.xml.bind.annotation.XmlSchemaType; |
34 | 34 |
import javax.xml.bind.annotation.XmlType; |
35 | 35 |
|
36 |
import org.apache.commons.lang.StringUtils; |
|
36 | 37 |
import org.apache.log4j.Logger; |
37 | 38 |
import org.hibernate.annotations.Cascade; |
38 | 39 |
import org.hibernate.annotations.CascadeType; |
... | ... | |
1147 | 1148 |
* @deprecated to be used by RelationshipBase only |
1148 | 1149 |
*/ |
1149 | 1150 |
@Override |
1150 |
@Deprecated |
|
1151 |
@Deprecated //to be used by RelationshipBase only
|
|
1151 | 1152 |
public void addRelationship(RelationshipBase relation) { |
1152 | 1153 |
if (relation instanceof HybridRelationship){ |
1153 | 1154 |
addHybridRelationship((HybridRelationship)relation); |
... | ... | |
1259 | 1260 |
/** |
1260 | 1261 |
* Needs to be implemented by those classes that handle autonyms (e.g. botanical names). |
1261 | 1262 |
**/ |
1263 |
@Transient |
|
1262 | 1264 |
public boolean isAutonym(){ |
1263 | 1265 |
return false; |
1264 | 1266 |
} |
1267 |
|
|
1268 |
|
|
1269 |
/** |
|
1270 |
* Returns the boolean value indicating whether <i>this</i> names rank is Rank "unranked" |
|
1271 |
* (uuid = 'a965befb-70a9-4747-a18f-624456c65223') but most likely it is an infrageneric rank |
|
1272 |
* due to existing atomized data for the genus epithet and the infrageneric epithet but missing |
|
1273 |
* specific epithet. |
|
1274 |
* Returns false if <i>this</i> names rank is null. |
|
1275 |
* |
|
1276 |
* @see #isSupraGeneric() |
|
1277 |
* @see #isGenus() |
|
1278 |
* @see #isSpeciesAggregate() |
|
1279 |
* @see #isSpecies() |
|
1280 |
* @see #isInfraSpecific() |
|
1281 |
*/ |
|
1282 |
@Transient |
|
1283 |
public boolean isInfragenericUnranked() { |
|
1284 |
Rank rank = this.getRank(); |
|
1285 |
if (rank == null || ! rank.equals(Rank.UNRANKED())){ |
|
1286 |
return false; |
|
1287 |
} |
|
1288 |
if (StringUtils.isBlank(this.getSpecificEpithet()) && StringUtils.isBlank(this.getInfraSpecificEpithet()) ){ |
|
1289 |
return true; |
|
1290 |
}else{ |
|
1291 |
return false; |
|
1292 |
} |
|
1293 |
} |
|
1265 | 1294 |
} |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/Rank.java | ||
---|---|---|
20 | 20 |
import javax.xml.bind.annotation.XmlAccessorType; |
21 | 21 |
import javax.xml.bind.annotation.XmlType; |
22 | 22 |
|
23 |
import org.apache.commons.lang.StringUtils; |
|
23 | 24 |
import org.apache.log4j.Logger; |
24 | 25 |
import org.hibernate.envers.Audited; |
25 | 26 |
import org.hibernate.search.annotations.Indexed; |
... | ... | |
126 | 127 |
private static final UUID uuidCultivarGroup = UUID.fromString("d763e7d3-e7de-4bb1-9d75-225ca6948659"); |
127 | 128 |
private static final UUID uuidCultivar = UUID.fromString("5e98415b-dc6e-440b-95d6-ea33dbb39ad0"); |
128 | 129 |
private static final UUID uuidUnknownRank = UUID.fromString("5c4d6755-2cf6-44ca-9220-cccf8881700b"); |
129 |
|
|
130 |
private static final UUID uuidUnranked = UUID.fromString("a965befb-70a9-4747-a18f-624456c65223"); |
|
130 | 131 |
|
131 | 132 |
private static Map<String, UUID> abbrevMap = null; |
132 | 133 |
private static Map<String, UUID> labelMap = null; |
... | ... | |
399 | 400 |
public static final Rank NATIO(){ |
400 | 401 |
return getTermByUuid(uuidNatio); |
401 | 402 |
} |
403 |
public static final Rank UNRANKED(){ |
|
404 |
return getTermByUuid(uuidUnranked); |
|
405 |
} |
|
402 | 406 |
|
403 | 407 |
|
404 | 408 |
/** |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/NonViralNameDefaultCacheStrategy.java | ||
---|---|---|
307 | 307 |
result = nonViralName.getNameCache(); |
308 | 308 |
}else if (rank == null){ |
309 | 309 |
result = getRanklessNameCache(nonViralName); |
310 |
}else if (nonViralName.isInfragenericUnranked()){ |
|
311 |
result = getUnrankedInfragenericNameCache(nonViralName); |
|
310 | 312 |
}else if (rank.isInfraSpecific()){ |
311 | 313 |
result = getInfraSpeciesNameCache(nonViralName); |
312 | 314 |
}else if (rank.isSpecies()){ |
... | ... | |
323 | 325 |
} |
324 | 326 |
return result; |
325 | 327 |
} |
326 |
|
|
328 |
// |
|
329 |
// |
|
330 |
// /** |
|
331 |
// * @param nonViralName |
|
332 |
// * @return |
|
333 |
// */ |
|
334 |
// private boolean isInfragenericUnranked(T nonViralName) { |
|
335 |
// Rank rank = nonViralName.getRank(); |
|
336 |
// if (rank == null || ! rank.equals(Rank.UNRANKED())){ |
|
337 |
// return false; |
|
338 |
// } |
|
339 |
// if (StringUtils.isBlank(nonViralName.getSpecificEpithet()) && StringUtils.isBlank(nonViralName.getInfraSpecificEpithet()) ){ |
|
340 |
// return true; |
|
341 |
// }else{ |
|
342 |
// return false; |
|
343 |
// } |
|
344 |
// } |
|
345 |
|
|
346 |
|
|
347 |
private String getUnrankedInfragenericNameCache(T nonViralName) { |
|
348 |
String result; |
|
349 |
Rank rank = nonViralName.getRank(); |
|
350 |
if (rank.isSpeciesAggregate()){ |
|
351 |
return getSpeciesAggregateCache(nonViralName); |
|
352 |
} |
|
353 |
String infraGenericMarker = rank.getAbbreviation(); |
|
354 |
result = CdmUtils.Nz(nonViralName.getGenusOrUninomial()).trim(); |
|
355 |
result += " " + infraGenericMarker + " " + (CdmUtils.Nz(nonViralName.getInfraGenericEpithet())).trim().replace("null", ""); |
|
356 |
result = addAppendedPhrase(result, nonViralName).trim(); |
|
357 |
return result; |
|
358 |
} |
|
359 |
|
|
327 | 360 |
|
328 | 361 |
/* (non-Javadoc) |
329 | 362 |
* @see eu.etaxonomy.cdm.strategy.cache.INonViralNameCacheStrategy#getAuthorCache(eu.etaxonomy.cdm.model.name.NonViralName) |
cdmlib-model/src/main/resources/terms/Rank.csv | ||
---|---|---|
64 | 64 |
"6b4063bc-f934-4796-9bf3-0ef3aea5c1cb",,"Graft Chimaera","Graft Chimaera", |
65 | 65 |
"d763e7d3-e7de-4bb1-9d75-225ca6948659",,"Cultivar Group","Cultivar Group", |
66 | 66 |
"5e98415b-dc6e-440b-95d6-ea33dbb39ad0",,"Cultivar","Cultivar", |
67 |
"5c4d6755-2cf6-44ca-9220-cccf8881700b",,"Unknown Rank","Unknown Rank", |
|
67 |
"5c4d6755-2cf6-44ca-9220-cccf8881700b",,"Unknown Rank","Unknown Rank","unknown" |
|
68 |
"a965befb-70a9-4747-a18f-624456c65223",,"Unranked Rank: The name on purpose has no rank","Unranked","[unranked]" |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/name/NonViralNameDefaultCacheStrategyTest.java | ||
---|---|---|
62 | 62 |
private INomenclaturalAuthor basAuthor; |
63 | 63 |
private INomenclaturalAuthor exBasAuthor; |
64 | 64 |
private Reference citationRef; |
65 |
private ReferenceFactory refFactory; |
|
66 | 65 |
|
67 | 66 |
@BeforeClass |
68 | 67 |
public static void setUpBeforeClass() { |
... | ... | |
75 | 74 |
*/ |
76 | 75 |
@Before |
77 | 76 |
public void setUp() throws Exception { |
78 |
refFactory = ReferenceFactory.newInstance(); |
|
79 | 77 |
strategy = NonViralNameDefaultCacheStrategy.NewInstance(); |
80 | 78 |
familyName = BotanicalName.PARSED_NAME(familyNameString, Rank.FAMILY()); |
81 | 79 |
genusName = BotanicalName.PARSED_NAME(genusNameString, Rank.GENUS()); |
... | ... | |
136 | 134 |
specName.setGenusOrUninomial("Genus"); |
137 | 135 |
specName.setSpecificEpithet(""); |
138 | 136 |
assertEquals("Empty species string must not result in trailing whitespace", "Genus", specName.getNameCache()); |
137 |
|
|
138 |
//unranked taxa |
|
139 |
String unrankedCache; |
|
140 |
BotanicalName unrankedName = BotanicalName.NewInstance(Rank.UNRANKED()); |
|
141 |
unrankedName.setGenusOrUninomial("Genus"); |
|
142 |
NonViralNameDefaultCacheStrategy<BotanicalName> strategy = NonViralNameDefaultCacheStrategy.NewInstance(); |
|
143 |
//infraspecific |
|
144 |
unrankedName.setInfraSpecificEpithet("infraspecific"); |
|
145 |
unrankedName.setSpecificEpithet("species"); |
|
146 |
unrankedCache = strategy.getNameCache(unrankedName); |
|
147 |
|
|
148 |
Assert.assertEquals("Correct unranked cache expected", "Genus species [unranked] infraspecific", unrankedCache); |
|
149 |
|
|
150 |
//infrageneric |
|
151 |
unrankedName.setInfraSpecificEpithet(null); |
|
152 |
unrankedName.setSpecificEpithet(null); |
|
153 |
unrankedName.setInfraGenericEpithet("Infrageneric"); |
|
154 |
unrankedCache = strategy.getNameCache(unrankedName); |
|
155 |
Assert.assertEquals("Correct unranked cache expected", "Genus [unranked] Infrageneric", unrankedCache); |
|
156 |
|
|
139 | 157 |
|
140 | 158 |
} |
141 | 159 |
|
... | ... | |
185 | 203 |
|
186 | 204 |
@Test |
187 | 205 |
public void testCacheListener() { |
188 |
Reference ref = refFactory.newGeneric();
|
|
206 |
Reference ref = ReferenceFactory.newGeneric();
|
|
189 | 207 |
ref.setTitleCache("GenericRef",true); |
190 | 208 |
this.subSpeciesName.setNomenclaturalReference(ref); |
191 | 209 |
Assert.assertEquals("Expected full title cache has error", "Abies alba subsp. beta, GenericRef", subSpeciesName.getFullTitleCache()); |
... | ... | |
283 | 301 |
|
284 | 302 |
|
285 | 303 |
//ref + nomRef |
286 |
Reference book = refFactory.newBook();
|
|
304 |
Reference book = ReferenceFactory.newBook();
|
|
287 | 305 |
book.setTitle("Booktitle"); |
288 | 306 |
Assert.assertNotNull("TitleCache should not be null", subSpeciesName.getTitleCache()); |
289 | 307 |
subSpeciesName.setNomenclaturalReference(book); |
... | ... | |
384 | 402 |
} |
385 | 403 |
|
386 | 404 |
@Test |
387 |
public void testGetInfraGericNames(){ |
|
405 |
public void testGetInfraGenericNames(){
|
|
388 | 406 |
String author = "Anyauthor"; |
389 | 407 |
NonViralName nonViralName = NonViralName.NewInstance(Rank.SUBGENUS()); |
390 | 408 |
nonViralName.setGenusOrUninomial("Genus"); |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/CdmUpdater.java | ||
---|---|---|
16 | 16 |
import eu.etaxonomy.cdm.database.CdmDataSource; |
17 | 17 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
18 | 18 |
import eu.etaxonomy.cdm.database.update.v25_30.SchemaUpdater_25_30; |
19 |
import eu.etaxonomy.cdm.database.update.v25_30.TermUpdater_25_30;
|
|
19 |
import eu.etaxonomy.cdm.database.update.v30_31.TermUpdater_30_31;
|
|
20 | 20 |
|
21 | 21 |
/** |
22 | 22 |
* @author a.mueller |
... | ... | |
70 | 70 |
} |
71 | 71 |
|
72 | 72 |
private ITermUpdater getCurrentTermUpdater() { |
73 |
return TermUpdater_25_30.NewInstance();
|
|
73 |
return TermUpdater_30_31.NewInstance();
|
|
74 | 74 |
} |
75 | 75 |
|
76 | 76 |
/** |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/SingleTermUpdater.java | ||
---|---|---|
137 | 137 |
} |
138 | 138 |
|
139 | 139 |
UUID uuidRepresentation = UUID.randomUUID(); |
140 |
String sqlInsertRepresentation = " INSERT INTO Representation (id, created, uuid, text, abbreviatedlabel, label, language_id) " +
|
|
140 |
String sqlInsertRepresentation = " INSERT INTO Representation (id, created, uuid, text, label, abbreviatedlabel, language_id) " +
|
|
141 | 141 |
"VALUES (" + repId + ", '" + created + "', '" + uuidRepresentation + "', '" + description + "', '" + label + "', '" + abbrev + "', " + langId + ")"; |
142 | 142 |
|
143 | 143 |
datasource.executeUpdate(sqlInsertRepresentation); |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v25_30/TermUpdater_25_30.java | ||
---|---|---|
21 | 21 |
import eu.etaxonomy.cdm.database.update.TermUpdaterBase; |
22 | 22 |
import eu.etaxonomy.cdm.database.update.VocabularyCreator; |
23 | 23 |
import eu.etaxonomy.cdm.database.update.v24_25.TermUpdater_24_25; |
24 |
import eu.etaxonomy.cdm.database.update.v30_31.TermUpdater_30_31; |
|
24 | 25 |
import eu.etaxonomy.cdm.model.common.Language; |
25 | 26 |
import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; |
26 | 27 |
|
... | ... | |
123 | 124 |
*/ |
124 | 125 |
@Override |
125 | 126 |
public ITermUpdater getNextUpdater() { |
126 |
return null;
|
|
127 |
return TermUpdater_30_31.NewInstance();
|
|
127 | 128 |
} |
128 | 129 |
|
129 | 130 |
/* (non-Javadoc) |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/LanguageLabelUpdater.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.v30_31; |
|
11 |
|
|
12 |
import java.sql.SQLException; |
|
13 |
|
|
14 |
import org.apache.log4j.Logger; |
|
15 |
|
|
16 |
import eu.etaxonomy.cdm.common.IProgressMonitor; |
|
17 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
|
18 |
import eu.etaxonomy.cdm.database.update.ITermUpdaterStep; |
|
19 |
import eu.etaxonomy.cdm.database.update.SchemaUpdaterStepBase; |
|
20 |
|
|
21 |
/** |
|
22 |
* @author a.mueller |
|
23 |
* @date 15.12.2010 |
|
24 |
*/ |
|
25 |
public class LanguageLabelUpdater extends SchemaUpdaterStepBase implements ITermUpdaterStep{ |
|
26 |
@SuppressWarnings("unused") |
|
27 |
private static final Logger logger = Logger.getLogger(LanguageLabelUpdater.class); |
|
28 |
|
|
29 |
private static final String stepName = "Update language labels by full language name"; |
|
30 |
|
|
31 |
// **************************** STATIC METHODS ********************************/ |
|
32 |
|
|
33 |
public static final LanguageLabelUpdater NewInstance(){ |
|
34 |
return new LanguageLabelUpdater(stepName); |
|
35 |
} |
|
36 |
|
|
37 |
protected LanguageLabelUpdater(String stepName) { |
|
38 |
super(stepName); |
|
39 |
} |
|
40 |
|
|
41 |
@Override |
|
42 |
public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException { |
|
43 |
|
|
44 |
//update representation label |
|
45 |
String sql; |
|
46 |
sql = " UPDATE Representation " + |
|
47 |
" SET label = text " + |
|
48 |
" WHERE id IN ( SELECT MN.representations_id " + |
|
49 |
" FROM DefinedTermBase lang " + |
|
50 |
" INNER JOIN DefinedTermBase_Representation MN ON lang.id = MN.DefinedTermBase_id " + |
|
51 |
" WHERE lang.DTYPE = 'Language' " + |
|
52 |
" )"; |
|
53 |
datasource.executeUpdate(sql); |
|
54 |
|
|
55 |
//update term titleCache |
|
56 |
//FIXME only for English representations |
|
57 |
sql = " UPDATE DefinedTermBase dtb " + |
|
58 |
" SET titleCache = " + |
|
59 |
" ( " + |
|
60 |
" SELECT rep.label " + |
|
61 |
" FROM DefinedTermBase_Representation MN " + |
|
62 |
" INNER JOIN Representation rep ON MN.representations_id = rep.id " + |
|
63 |
" WHERE dtb.id = MN.DefinedTermBase_id) " + |
|
64 |
" WHERE dtb.DTYPE = 'Language'"; |
|
65 |
datasource.executeUpdate(sql); |
|
66 |
|
|
67 |
return 0; |
|
68 |
} |
|
69 |
|
|
70 |
|
|
71 |
} |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/TermUpdater_30_31.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.v30_31; |
|
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.v25_30.TermUpdater_25_30; |
|
23 |
import eu.etaxonomy.cdm.model.common.Language; |
|
24 |
import eu.etaxonomy.cdm.model.name.Rank; |
|
25 |
|
|
26 |
/** |
|
27 |
* @author a.mueller |
|
28 |
* @date 10.09.2010 |
|
29 |
* |
|
30 |
*/ |
|
31 |
public class TermUpdater_30_31 extends TermUpdaterBase implements ITermUpdater { |
|
32 |
@SuppressWarnings("unused") |
|
33 |
private static final Logger logger = Logger.getLogger(TermUpdater_30_31.class); |
|
34 |
|
|
35 |
public static final String startTermVersion = "3.0.0.0.201011170000"; |
|
36 |
private static final String endTermVersion = "3.0.1.0.201012150000"; |
|
37 |
|
|
38 |
// *************************** FACTORY **************************************/ |
|
39 |
|
|
40 |
public static TermUpdater_30_31 NewInstance(){ |
|
41 |
return new TermUpdater_30_31(startTermVersion, endTermVersion); |
|
42 |
} |
|
43 |
|
|
44 |
// *************************** CONSTRUCTOR ***********************************/ |
|
45 |
|
|
46 |
protected TermUpdater_30_31(String startTermVersion, String endTermVersion) { |
|
47 |
super(startTermVersion, endTermVersion); |
|
48 |
} |
|
49 |
|
|
50 |
// |
|
51 |
|
|
52 |
/* (non-Javadoc) |
|
53 |
* @see eu.etaxonomy.cdm.database.update.ICdmUpdater#invoke() |
|
54 |
*/ |
|
55 |
@Override |
|
56 |
protected List<ITermUpdaterStep> getUpdaterList() { |
|
57 |
List<ITermUpdaterStep> list = new ArrayList<ITermUpdaterStep>(); |
|
58 |
|
|
59 |
|
|
60 |
// [unranked] |
|
61 |
UUID uuidTerm = UUID.fromString("a965befb-70a9-4747-a18f-624456c65223"); |
|
62 |
String description = "Unranked Rank: The name on purpose has no rank"; |
|
63 |
String label = "Unranked"; |
|
64 |
String abbrev = "[unranked]"; |
|
65 |
String dtype = Rank.class.getSimpleName(); |
|
66 |
boolean isOrdered = true; |
|
67 |
UUID uuidVocabulary = UUID.fromString("ef0d1ce1-26e3-4e83-b47b-ca74eed40b1b"); |
|
68 |
UUID uuidAfterTerm = UUID.fromString("5c4d6755-2cf6-44ca-9220-cccf8881700b"); |
|
69 |
UUID uuidLang = Language.uuidEnglish; |
|
70 |
list.add( SingleTermUpdater.NewInstance("Add 'unranked' rank to ranks", uuidTerm, description, label, abbrev, dtype, uuidVocabulary, uuidLang, isOrdered, uuidAfterTerm)); |
|
71 |
|
|
72 |
//language labels |
|
73 |
LanguageLabelUpdater langLabelUpdater = LanguageLabelUpdater.NewInstance(); |
|
74 |
list.add(langLabelUpdater); |
|
75 |
|
|
76 |
return list; |
|
77 |
} |
|
78 |
|
|
79 |
|
|
80 |
/* (non-Javadoc) |
|
81 |
* @see eu.etaxonomy.cdm.database.update.ICdmUpdater#getNextUpdater() |
|
82 |
*/ |
|
83 |
@Override |
|
84 |
public ITermUpdater getNextUpdater() { |
|
85 |
return null; |
|
86 |
} |
|
87 |
|
|
88 |
/* (non-Javadoc) |
|
89 |
* @see eu.etaxonomy.cdm.database.update.ICdmUpdater#getPreviousUpdater() |
|
90 |
*/ |
|
91 |
@Override |
|
92 |
public ITermUpdater getPreviousUpdater() { |
|
93 |
return TermUpdater_25_30.NewInstance(); |
|
94 |
} |
|
95 |
|
|
96 |
} |
Also available in: Unified diff
Added new rank "unranked" (#2141) and updated language labels and titleCaches with full language name (#2144)