Revision 6cfc0581
Added by Andreas Müller over 2 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/in/TcsXmlTaxonNameImport.java | ||
---|---|---|
509 | 509 |
String cultivarNameGroup = (elCultivarNameGroup == null)? "" : elCultivarNameGroup.getTextNormalize(); |
510 | 510 |
if (! "".equals(cultivarNameGroup.trim())){ |
511 | 511 |
if (name.isCultivar()){ |
512 |
makeCultivarName();
|
|
512 |
makeCultivarEpithet();
|
|
513 | 513 |
}else{ |
514 | 514 |
logger.warn("Non cultivar name has 'cultivar name group' element. Omitted"); |
515 | 515 |
} |
... | ... | |
517 | 517 |
return; |
518 | 518 |
} |
519 | 519 |
|
520 |
private void makeCultivarName(){
|
|
520 |
private void makeCultivarEpithet(){
|
|
521 | 521 |
//TODO |
522 | 522 |
//logger.warn("'makeCultivarName' Not yet implemented"); |
523 | 523 |
} |
cdmlib-io/src/main/resources/schema/cdm/name.xsd | ||
---|---|---|
33 | 33 |
<xs:complexContent> |
34 | 34 |
<xs:extension base="name:BotanicalName"> |
35 | 35 |
<xs:sequence> |
36 |
<xs:element name="CultivarName" type="xs:string"/>
|
|
36 |
<xs:element name="CultivarEpithet" type="xs:string"/>
|
|
37 | 37 |
</xs:sequence> |
38 | 38 |
</xs:extension> |
39 | 39 |
</xs:complexContent> |
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml | ||
---|---|---|
371 | 371 |
<name:IsBinomHybrid>false</name:IsBinomHybrid> |
372 | 372 |
<name:IsTrinomHybrid>false</name:IsTrinomHybrid> |
373 | 373 |
<name:IsAnamorphic>false</name:IsAnamorphic> |
374 |
<name:CultivarName>marmoratum</name:CultivarName>
|
|
374 |
<name:CultivarEpithet>marmoratum</name:CultivarEpithet>
|
|
375 | 375 |
</name:TaxonName> |
376 | 376 |
<name:TaxonName id="5" uuid="urn-uuid-d399030c-906f-437c-90d2-3f5c89d87376" hasProblem="false" problemStarts="-1" problemEnds="-1"> |
377 | 377 |
<name:nameType>ICZN</name:nameType> |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/ICultivarPlantName.java | ||
---|---|---|
30 | 30 |
* (these elements of the name cache string will be generated by the |
31 | 31 |
* {@link eu.etaxonomy.cdm.strategy.cache.name.INonViralNameCacheStrategy cache strategy}). |
32 | 32 |
*/ |
33 |
public String getCultivarName();
|
|
33 |
public String getCultivarEpithet();
|
|
34 | 34 |
|
35 | 35 |
/** |
36 |
* @see #getCultivarName()
|
|
36 |
* @see #getCultivarEpithet()
|
|
37 | 37 |
*/ |
38 |
public void setCultivarName(String cultivarName);
|
|
38 |
public void setCultivarEpithet(String cultivarEpithet);
|
|
39 | 39 |
|
40 | 40 |
//#9761 |
41 | 41 |
/** |
... | ... | |
44 | 44 |
* grex or group (e.g. grex, gx, Group, Gp, Gruppe, Gruppo, etc.). |
45 | 45 |
* TODO brackets |
46 | 46 |
*/ |
47 |
public String getCultivarGroup(); |
|
47 |
public String getCultivarGroupEpithet();
|
|
48 | 48 |
|
49 | 49 |
/** |
50 |
* @see #getCultivarGroup() |
|
50 |
* @see #getCultivarGroupEpithet()
|
|
51 | 51 |
*/ |
52 |
public void setCultivarGroup(String cultivarGroup);
|
|
52 |
public void setCultivarGroupEpithet(String cultivarGroupEpithet);
|
|
53 | 53 |
} |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/TaxonName.java | ||
---|---|---|
173 | 173 |
//fungi |
174 | 174 |
"anamorphic", |
175 | 175 |
//cultivar plant names |
176 |
"cultivarName" |
|
176 |
"cultivarGroupEpithet", |
|
177 |
"cultivarEpithet" |
|
177 | 178 |
}) |
178 | 179 |
@XmlRootElement(name = "TaxonName") |
179 | 180 |
@Entity |
... | ... | |
553 | 554 |
//Cultivar attribute(s) |
554 | 555 |
|
555 | 556 |
//the characteristical name of the cultivar |
556 |
@XmlElement(name = "CultivarName")
|
|
557 |
@XmlElement(name = "CultivarEpithet")
|
|
557 | 558 |
//TODO Val #3379 |
558 | 559 |
//@NullOrNotEmpty |
559 | 560 |
@Column(length=255) |
560 |
private String cultivarName;
|
|
561 |
private String cultivarEpithet;
|
|
561 | 562 |
|
562 | 563 |
//#9761 |
563 |
@XmlElement(name = "CultivarName")
|
|
564 |
@XmlElement(name = "CultivarGroupEpithet")
|
|
564 | 565 |
@NullOrNotEmpty |
565 | 566 |
@Column(length=255) |
566 |
private String cultivarGroup; |
|
567 |
private String cultivarGroupEpithet;
|
|
567 | 568 |
|
568 | 569 |
// ************** FUNGUS name attributes |
569 | 570 |
//to indicate that the type of the name is asexual or not |
... | ... | |
1284 | 1285 |
|
1285 | 1286 |
|
1286 | 1287 |
@Override |
1287 |
public String getCultivarName(){
|
|
1288 |
return this.cultivarName;
|
|
1288 |
public String getCultivarEpithet(){
|
|
1289 |
return this.cultivarEpithet;
|
|
1289 | 1290 |
} |
1290 | 1291 |
|
1291 | 1292 |
/** |
1292 |
* @see #getCultivarName()
|
|
1293 |
* @see #getCultivarEpithet()
|
|
1293 | 1294 |
*/ |
1294 | 1295 |
@Override |
1295 |
public void setCultivarName(String cultivarName){
|
|
1296 |
this.cultivarName = isBlank(cultivarName) ? null : cultivarName;
|
|
1296 |
public void setCultivarEpithet(String cultivarEpithet){
|
|
1297 |
this.cultivarEpithet = isBlank(cultivarEpithet) ? null : cultivarEpithet;
|
|
1297 | 1298 |
} |
1298 | 1299 |
|
1299 | 1300 |
@Override |
1300 |
public String getCultivarGroup(){ |
|
1301 |
return this.cultivarGroup; |
|
1301 |
public String getCultivarGroupEpithet(){
|
|
1302 |
return this.cultivarGroupEpithet;
|
|
1302 | 1303 |
} |
1303 | 1304 |
|
1304 | 1305 |
/** |
1305 |
* @see #getCultivarGroup() |
|
1306 |
* @see #getCultivarGroupEpithet()
|
|
1306 | 1307 |
*/ |
1307 | 1308 |
@Override |
1308 |
public void setCultivarGroup(String cultivarGroup){
|
|
1309 |
this.cultivarGroup = isBlank(cultivarGroup) ? null : cultivarGroup;
|
|
1309 |
public void setCultivarGroupEpithet(String cultivarGroupEpithet){
|
|
1310 |
this.cultivarGroupEpithet = isBlank(cultivarGroupEpithet) ? null : cultivarGroupEpithet;
|
|
1310 | 1311 |
} |
1311 | 1312 |
|
1312 | 1313 |
// **************** Fungus Name |
... | ... | |
3757 | 3758 |
//acronym |
3758 | 3759 |
//subGenusAuthorship, nameApprobation |
3759 | 3760 |
//anamorphic |
3760 |
//cultivarName
|
|
3761 |
//cultivarEpithet,cultivarGroupEpithet
|
|
3761 | 3762 |
return result; |
3762 | 3763 |
} catch (CloneNotSupportedException e) { |
3763 | 3764 |
logger.warn("Object does not implement cloneable"); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/TaxonNameDefaultCacheStrategy.java | ||
---|---|---|
383 | 383 |
UUID rankUuid = taxonName.getRank().getUuid(); |
384 | 384 |
boolean rankIsHandled = true; |
385 | 385 |
String cultivarStr = null; |
386 |
String groupStr = taxonName.getCultivarGroup(); |
|
386 |
String groupStr = taxonName.getCultivarGroupEpithet();
|
|
387 | 387 |
if (rankUuid.equals(Rank.uuidCultivar)){ |
388 | 388 |
cultivarStr = surroundedCultivarEpithet(taxonName); |
389 | 389 |
if (isNotBlank(cultivarStr) && isNotBlank(groupStr)){ |
... | ... | |
450 | 450 |
} |
451 | 451 |
|
452 | 452 |
private String surroundedCultivarEpithet(TaxonName taxonName) { |
453 |
return cultivarStart + taxonName.getCultivarName() + cultivarEnd;
|
|
453 |
return cultivarStart + taxonName.getCultivarEpithet() + cultivarEnd;
|
|
454 | 454 |
} |
455 | 455 |
|
456 | 456 |
private boolean isAggregateWithAuthorship(TaxonName nonViralName, Rank rank) { |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/match/MatchStrategyFactory.java | ||
---|---|---|
397 | 397 |
//equal |
398 | 398 |
String[] equalParams = new String[]{"acronym","anamorphic","appendedPhrase", |
399 | 399 |
"binomHybrid", "monomHybrid","trinomHybrid","hybridFormula", |
400 |
"breed","cultivarName","infraGenericEpithet","infraSpecificEpithet",
|
|
400 |
"breed","cultivarEpithet","infraGenericEpithet","infraSpecificEpithet",
|
|
401 | 401 |
"publicationYear","originalPublicationYear","specificEpithet","subGenusAuthorship"}; |
402 | 402 |
for(String param : equalParams){ |
403 | 403 |
originalSpellingMatchStrategy.setMatchMode(param, MatchMode.EQUAL); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImpl.java | ||
---|---|---|
1538 | 1538 |
|
1539 | 1539 |
if (anyCultivarMatcher.matches()){ |
1540 | 1540 |
String scientificName = anyCultivarMatcher.group(1); |
1541 |
String cultivarName = anyCultivarMatcher.group("cultivar");
|
|
1542 |
String groupName = anyCultivarMatcher.group("cultivarGroup");
|
|
1541 |
String cultivarEpi = anyCultivarMatcher.group("cultivar");
|
|
1542 |
String groupEpi = anyCultivarMatcher.group("cultivarGroup");
|
|
1543 | 1543 |
String brGroupName = anyCultivarMatcher.group("cultivarBrGroup"); |
1544 | 1544 |
String grexName = anyCultivarMatcher.group("cultivarGrex"); |
1545 | 1545 |
|
1546 | 1546 |
//handle not exact matches |
1547 |
if (isNotBlank(groupName) && isNotBlank(cultivarName)){
|
|
1547 |
if (isNotBlank(groupEpi) && isNotBlank(cultivarEpi)){
|
|
1548 | 1548 |
return false; |
1549 |
}else if (isNotBlank(brGroupName) && isNotBlank(grexName) && isBlank(cultivarName)){
|
|
1549 |
}else if (isNotBlank(brGroupName) && isNotBlank(grexName) && isBlank(cultivarEpi)){
|
|
1550 | 1550 |
return false; |
1551 | 1551 |
} |
1552 | 1552 |
parseSimpleName(nameToBeFilled, scientificName, null, false); |
1553 | 1553 |
|
1554 | 1554 |
if (isNotBlank(grexName)){ |
1555 | 1555 |
nameToBeFilled.setRank(Rank.GREX()); |
1556 |
nameToBeFilled.setCultivarGroup(grexName); |
|
1556 |
nameToBeFilled.setCultivarGroupEpithet(grexName);
|
|
1557 | 1557 |
} |
1558 |
if (isNotBlank(groupName) || isNotBlank(brGroupName)){
|
|
1558 |
if (isNotBlank(groupEpi) || isNotBlank(brGroupName)){
|
|
1559 | 1559 |
nameToBeFilled.setRank(Rank.CULTIVARGROUP()); |
1560 |
if (isBlank(groupName)){
|
|
1561 |
groupName = brGroupName;
|
|
1560 |
if (isBlank(groupEpi)){
|
|
1561 |
groupEpi = brGroupName;
|
|
1562 | 1562 |
} |
1563 |
nameToBeFilled.setCultivarGroup(CdmUtils.concat(" ", grexName, groupName));
|
|
1563 |
nameToBeFilled.setCultivarGroupEpithet(CdmUtils.concat(" ", grexName, groupEpi));
|
|
1564 | 1564 |
} |
1565 |
if (isNotBlank(cultivarName)){
|
|
1565 |
if (isNotBlank(cultivarEpi)){
|
|
1566 | 1566 |
nameToBeFilled.setRank(Rank.CULTIVAR()); |
1567 |
cultivarName = cultivarName.substring(1, cultivarName.length()-1);
|
|
1568 |
nameToBeFilled.setCultivarName(cultivarName);
|
|
1567 |
cultivarEpi = cultivarEpi.substring(1, cultivarEpi.length()-1);
|
|
1568 |
nameToBeFilled.setCultivarEpithet(cultivarEpi);
|
|
1569 | 1569 |
} |
1570 | 1570 |
return true; |
1571 | 1571 |
}else{ |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/validation/constraint/NameMustFollowCodeValidator.java | ||
---|---|---|
43 | 43 |
|
44 | 44 |
//CultivarPlantName |
45 | 45 |
if (! (name.isCultivar())){ |
46 |
if (name.getCultivarName() != null){
|
|
46 |
if (name.getCultivarEpithet() != null){
|
|
47 | 47 |
valid = false; |
48 | 48 |
} |
49 | 49 |
} |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/model/name/CultivarPlantNameTest.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.cdm.model.name; |
10 | 10 |
|
11 |
|
|
12 | 11 |
import org.apache.log4j.Logger; |
13 | 12 |
import org.junit.Assert; |
14 | 13 |
import org.junit.Before; |
15 |
import org.junit.BeforeClass; |
|
16 | 14 |
import org.junit.Test; |
17 | 15 |
|
18 | 16 |
/** |
19 | 17 |
* @author a.mueller |
20 | 18 |
* @since 03.01.2011 |
21 |
* |
|
22 | 19 |
*/ |
23 | 20 |
public class CultivarPlantNameTest { |
24 |
@SuppressWarnings("unused") |
|
21 |
|
|
22 |
@SuppressWarnings("unused") |
|
25 | 23 |
private static final Logger logger = Logger.getLogger(CultivarPlantNameTest.class); |
26 | 24 |
|
27 | 25 |
private static ICultivarPlantName name1; |
28 | 26 |
|
29 |
|
|
30 |
/** |
|
31 |
* @throws java.lang.Exception |
|
32 |
*/ |
|
33 |
@BeforeClass |
|
34 |
public static void setUpBeforeClass() throws Exception { |
|
35 |
} |
|
36 |
|
|
37 |
/** |
|
38 |
* @throws java.lang.Exception |
|
39 |
*/ |
|
40 | 27 |
@Before |
41 | 28 |
public void setUp() throws Exception { |
42 | 29 |
name1 = TaxonNameFactory.NewCultivarInstance(Rank.SPECIES()); |
43 | 30 |
name1.setGenusOrUninomial("Aus"); |
44 | 31 |
name1.setSpecificEpithet("bus"); |
45 |
name1.setCultivarName("cultivarus"); |
|
32 |
name1.setCultivarEpithet("cultivarus"); |
|
33 |
name1.setCultivarGroupEpithet("Cult Group"); |
|
46 | 34 |
} |
47 | 35 |
|
48 | 36 |
// ******************* TESTS *************************************/ |
49 | 37 |
|
50 | 38 |
@Test |
51 | 39 |
public void testClone(){ |
52 |
ICultivarPlantName clone = (ICultivarPlantName)name1.clone(); |
|
53 |
Assert.assertEquals("Cultivar string should be equal", "cultivarus", clone.getCultivarName()); |
|
54 |
// Assert.assertNotSame("Cultivar string should be not same (but equal)", name1.getCultivarName(), clone.getCultivarName()); |
|
40 |
ICultivarPlantName clone = name1.clone(); |
|
41 |
Assert.assertEquals("Cultivar string should be equal", "cultivarus", clone.getCultivarEpithet()); |
|
42 |
Assert.assertEquals("Group string should be equal", "Cult Group", clone.getCultivarGroupEpithet()); |
|
43 |
Assert.assertSame("Cultivar string should even be same as String is unmutable", name1.getCultivarEpithet(), clone.getCultivarEpithet()); |
|
55 | 44 |
} |
56 |
|
|
57 |
|
|
58 |
} |
|
45 |
} |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/name/TaxonNameDefaultCacheStrategyTest.java | ||
---|---|---|
288 | 288 |
|
289 | 289 |
//cultivar |
290 | 290 |
speciesName.setRank(Rank.CULTIVAR()); |
291 |
speciesName.setCultivarName("Cultus");
|
|
291 |
speciesName.setCultivarEpithet("Cultus");
|
|
292 | 292 |
Assert.assertEquals("Abies alba 'Cultus'", strategy.getTitleCache(speciesName)); |
293 | 293 |
|
294 | 294 |
speciesName.setBinomHybrid(true); |
... | ... | |
301 | 301 |
//cultivar group |
302 | 302 |
speciesName.setRank(Rank.CULTIVARGROUP()); |
303 | 303 |
Assert.assertEquals("Abies Group", strategy.getTitleCache(speciesName)); //not sure if this is correct for an empty group field |
304 |
speciesName.setCultivarGroup("Cultus Group"); |
|
304 |
speciesName.setCultivarGroupEpithet("Cultus Group");
|
|
305 | 305 |
Assert.assertEquals("Abies Cultus Group", strategy.getTitleCache(speciesName)); |
306 | 306 |
|
307 |
speciesName.setCultivarGroup("Cultus Gruppe"); |
|
307 |
speciesName.setCultivarGroupEpithet("Cultus Gruppe");
|
|
308 | 308 |
Assert.assertEquals("Abies Cultus Gruppe", strategy.getTitleCache(speciesName)); |
309 |
speciesName.setCultivarGroup("Cultus Gp"); |
|
309 |
speciesName.setCultivarGroupEpithet("Cultus Gp");
|
|
310 | 310 |
Assert.assertEquals("Abies Cultus Gp", strategy.getTitleCache(speciesName)); |
311 |
speciesName.setCultivarGroup("Gruppo Cultus"); |
|
311 |
speciesName.setCultivarGroupEpithet("Gruppo Cultus");
|
|
312 | 312 |
Assert.assertEquals("Abies Gruppo Cultus", strategy.getTitleCache(speciesName)); |
313 |
speciesName.setCultivarGroup("Druppo Cultus"); |
|
313 |
speciesName.setCultivarGroupEpithet("Druppo Cultus");
|
|
314 | 314 |
Assert.assertEquals("Abies Druppo Cultus Group", strategy.getTitleCache(speciesName)); |
315 | 315 |
|
316 | 316 |
//grex |
317 | 317 |
speciesName.setRank(Rank.GREX()); |
318 |
speciesName.setCultivarGroup("Lovely"); |
|
318 |
speciesName.setCultivarGroupEpithet("Lovely");
|
|
319 | 319 |
Assert.assertEquals("Abies Lovely grex", strategy.getTitleCache(speciesName)); |
320 | 320 |
|
321 | 321 |
//graft chimaera |
... | ... | |
323 | 323 |
//either formula (like hybrids) concatenated by ' + ' (Art. 24.2) |
324 | 324 |
speciesName.setRank(Rank.GRAFTCHIMAERA()); |
325 | 325 |
speciesName.setGenusOrUninomial("Laburnocytisus"); |
326 |
speciesName.setCultivarName("Adamii");
|
|
326 |
speciesName.setCultivarEpithet("Adamii");
|
|
327 | 327 |
|
328 | 328 |
Assert.assertEquals("+ Laburnocytisus 'Adamii'", strategy.getTitleCache(speciesName)); |
329 | 329 |
} |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java | ||
---|---|---|
2331 | 2331 |
String cultivar = "Abies 'Albus'"; |
2332 | 2332 |
name = (TaxonName)parser.parseFullName(cultivar); |
2333 | 2333 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2334 |
Assert.assertEquals("Albus", name.getCultivarName());
|
|
2334 |
Assert.assertEquals("Albus", name.getCultivarEpithet());
|
|
2335 | 2335 |
Assert.assertEquals("Abies 'Albus'", name.getNameCache()); |
2336 | 2336 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2337 | 2337 |
|
2338 | 2338 |
cultivar = "Abies 'Beryl, Viscountess Cowdray'"; |
2339 | 2339 |
name = (TaxonName)parser.parseFullName(cultivar); |
2340 | 2340 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2341 |
Assert.assertEquals("Beryl, Viscountess Cowdray", name.getCultivarName());
|
|
2341 |
Assert.assertEquals("Beryl, Viscountess Cowdray", name.getCultivarEpithet());
|
|
2342 | 2342 |
Assert.assertEquals("Abies 'Beryl, Viscountess Cowdray'", name.getNameCache()); |
2343 | 2343 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2344 | 2344 |
|
2345 | 2345 |
cultivar = "Abies 'Jeanne d\u2019Arc'"; |
2346 | 2346 |
name = (TaxonName)parser.parseFullName(cultivar); |
2347 | 2347 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2348 |
Assert.assertEquals("Jeanne d\u2019Arc", name.getCultivarName());
|
|
2348 |
Assert.assertEquals("Jeanne d\u2019Arc", name.getCultivarEpithet());
|
|
2349 | 2349 |
Assert.assertEquals("Abies 'Jeanne d\u2019Arc'", name.getNameCache()); |
2350 | 2350 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2351 | 2351 |
|
2352 | 2352 |
cultivar = "Abies 'Oh Boy!'"; |
2353 | 2353 |
name = (TaxonName)parser.parseFullName(cultivar); |
2354 | 2354 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2355 |
Assert.assertEquals("Oh Boy!", name.getCultivarName());
|
|
2355 |
Assert.assertEquals("Oh Boy!", name.getCultivarEpithet());
|
|
2356 | 2356 |
Assert.assertEquals("Abies 'Oh Boy!'", name.getNameCache()); |
2357 | 2357 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2358 | 2358 |
|
2359 | 2359 |
cultivar = "Abies 'E.A. Bowles'"; |
2360 | 2360 |
name = (TaxonName)parser.parseFullName(cultivar); |
2361 | 2361 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2362 |
Assert.assertEquals("E.A. Bowles", name.getCultivarName());
|
|
2362 |
Assert.assertEquals("E.A. Bowles", name.getCultivarEpithet());
|
|
2363 | 2363 |
Assert.assertEquals("Abies 'E.A. Bowles'", name.getNameCache()); |
2364 | 2364 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2365 | 2365 |
|
2366 | 2366 |
cultivar = "Abies 'ENT/100'"; |
2367 | 2367 |
name = (TaxonName)parser.parseFullName(cultivar); |
2368 | 2368 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2369 |
Assert.assertEquals("ENT/100", name.getCultivarName());
|
|
2369 |
Assert.assertEquals("ENT/100", name.getCultivarEpithet());
|
|
2370 | 2370 |
Assert.assertEquals("Abies 'ENT/100'", name.getNameCache()); |
2371 | 2371 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2372 | 2372 |
|
2373 | 2373 |
cultivar = "Abies 'Go-go Dancer'"; |
2374 | 2374 |
name = (TaxonName)parser.parseFullName(cultivar); |
2375 | 2375 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2376 |
Assert.assertEquals("Go-go Dancer", name.getCultivarName());
|
|
2376 |
Assert.assertEquals("Go-go Dancer", name.getCultivarEpithet());
|
|
2377 | 2377 |
Assert.assertEquals("Abies 'Go-go Dancer'", name.getNameCache()); |
2378 | 2378 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2379 | 2379 |
|
2380 | 2380 |
cultivar = "Abies 'ENT\\100'"; |
2381 | 2381 |
name = (TaxonName)parser.parseFullName(cultivar); |
2382 | 2382 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2383 |
Assert.assertEquals("ENT\\100", name.getCultivarName());
|
|
2383 |
Assert.assertEquals("ENT\\100", name.getCultivarEpithet());
|
|
2384 | 2384 |
Assert.assertEquals("Abies 'ENT\\100'", name.getNameCache()); |
2385 | 2385 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2386 | 2386 |
|
... | ... | |
2388 | 2388 |
name = (TaxonName)parser.parseFullName(cultivar); |
2389 | 2389 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2390 | 2390 |
Assert.assertEquals("alba", name.getSpecificEpithet()); |
2391 |
Assert.assertEquals("Albus", name.getCultivarName());
|
|
2391 |
Assert.assertEquals("Albus", name.getCultivarEpithet());
|
|
2392 | 2392 |
Assert.assertEquals("Abies alba 'Albus'", name.getNameCache()); |
2393 | 2393 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2394 | 2394 |
|
... | ... | |
2397 | 2397 |
name = (TaxonName)parser.parseFullName(group); |
2398 | 2398 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2399 | 2399 |
Assert.assertNull(name.getSpecificEpithet()); |
2400 |
Assert.assertEquals("Albus Group", name.getCultivarGroup()); |
|
2400 |
Assert.assertEquals("Albus Group", name.getCultivarGroupEpithet());
|
|
2401 | 2401 |
Assert.assertEquals("Abies Albus Group", name.getNameCache()); |
2402 | 2402 |
Assert.assertEquals(Rank.uuidCultivarGroup, name.getRank().getUuid()); |
2403 | 2403 |
|
... | ... | |
2405 | 2405 |
name = (TaxonName)parser.parseFullName(group); |
2406 | 2406 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2407 | 2407 |
Assert.assertNull(name.getSpecificEpithet()); |
2408 |
Assert.assertEquals("Albus Gp", name.getCultivarGroup()); |
|
2408 |
Assert.assertEquals("Albus Gp", name.getCultivarGroupEpithet());
|
|
2409 | 2409 |
Assert.assertEquals("Abies Albus Gp", name.getNameCache()); |
2410 | 2410 |
Assert.assertEquals(Rank.uuidCultivarGroup, name.getRank().getUuid()); |
2411 | 2411 |
|
... | ... | |
2413 | 2413 |
name = (TaxonName)parser.parseFullName(group); |
2414 | 2414 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2415 | 2415 |
Assert.assertNull(name.getSpecificEpithet()); |
2416 |
Assert.assertEquals("Gruppo Albus", name.getCultivarGroup()); |
|
2416 |
Assert.assertEquals("Gruppo Albus", name.getCultivarGroupEpithet());
|
|
2417 | 2417 |
Assert.assertEquals("Abies Gruppo Albus", name.getNameCache()); |
2418 | 2418 |
Assert.assertEquals(Rank.uuidCultivarGroup, name.getRank().getUuid()); |
2419 | 2419 |
|
... | ... | |
2422 | 2422 |
name = (TaxonName)parser.parseFullName(grex); |
2423 | 2423 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2424 | 2424 |
Assert.assertNull(name.getSpecificEpithet()); |
2425 |
Assert.assertEquals("Albus grex", name.getCultivarGroup()); |
|
2425 |
Assert.assertEquals("Albus grex", name.getCultivarGroupEpithet());
|
|
2426 | 2426 |
Assert.assertEquals("Abies Albus grex", name.getNameCache()); |
2427 | 2427 |
Assert.assertEquals(Rank.uuidGrex, name.getRank().getUuid()); |
2428 | 2428 |
|
... | ... | |
2430 | 2430 |
name = (TaxonName)parser.parseFullName(grex); |
2431 | 2431 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2432 | 2432 |
Assert.assertNull(name.getSpecificEpithet()); |
2433 |
Assert.assertEquals("Albus Second grex", name.getCultivarGroup()); |
|
2433 |
Assert.assertEquals("Albus Second grex", name.getCultivarGroupEpithet());
|
|
2434 | 2434 |
Assert.assertEquals("Abies Albus Second grex", name.getNameCache()); |
2435 | 2435 |
Assert.assertEquals(Rank.uuidGrex, name.getRank().getUuid()); |
2436 | 2436 |
|
... | ... | |
2439 | 2439 |
name = (TaxonName)parser.parseFullName(combined); |
2440 | 2440 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2441 | 2441 |
Assert.assertNull(name.getSpecificEpithet()); |
2442 |
Assert.assertEquals("Pretty", name.getCultivarName());
|
|
2443 |
Assert.assertEquals("Albus Gruppo", name.getCultivarGroup()); |
|
2442 |
Assert.assertEquals("Pretty", name.getCultivarEpithet());
|
|
2443 |
Assert.assertEquals("Albus Gruppo", name.getCultivarGroupEpithet());
|
|
2444 | 2444 |
Assert.assertEquals(combined, name.getNameCache()); |
2445 | 2445 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2446 | 2446 |
|
... | ... | |
2448 | 2448 |
name = (TaxonName)parser.parseFullName(combined); |
2449 | 2449 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2450 | 2450 |
Assert.assertNull(name.getSpecificEpithet()); |
2451 |
Assert.assertEquals("Pretty", name.getCultivarName());
|
|
2452 |
Assert.assertEquals("White grex Albus Gruppo", name.getCultivarGroup()); |
|
2451 |
Assert.assertEquals("Pretty", name.getCultivarEpithet());
|
|
2452 |
Assert.assertEquals("White grex Albus Gruppo", name.getCultivarGroupEpithet());
|
|
2453 | 2453 |
Assert.assertEquals(combined, name.getNameCache()); |
2454 | 2454 |
Assert.assertEquals(Rank.uuidCultivar, name.getRank().getUuid()); |
2455 | 2455 |
|
... | ... | |
2457 | 2457 |
name = (TaxonName)parser.parseFullName(combined); |
2458 | 2458 |
Assert.assertEquals("Abies", name.getGenusOrUninomial()); |
2459 | 2459 |
Assert.assertNull(name.getSpecificEpithet()); |
2460 |
Assert.assertEquals("White grex Albus Gruppo", name.getCultivarGroup()); |
|
2460 |
Assert.assertEquals("White grex Albus Gruppo", name.getCultivarGroupEpithet());
|
|
2461 | 2461 |
Assert.assertEquals(combined, name.getNameCache()); |
2462 | 2462 |
Assert.assertEquals(Rank.uuidCultivarGroup, name.getRank().getUuid()); |
2463 | 2463 |
|
... | ... | |
2467 | 2467 |
Assert.assertTrue(name.isProtectedTitleCache()); |
2468 | 2468 |
Assert.assertNull(name.getGenusOrUninomial()); |
2469 | 2469 |
Assert.assertNull(name.getSpecificEpithet()); |
2470 |
Assert.assertNull(name.getCultivarName());
|
|
2471 |
Assert.assertNull(name.getCultivarGroup()); |
|
2470 |
Assert.assertNull(name.getCultivarEpithet());
|
|
2471 |
Assert.assertNull(name.getCultivarGroupEpithet());
|
|
2472 | 2472 |
Assert.assertEquals(combined, name.getNameCache()); |
2473 | 2473 |
Assert.assertNull(name.getRank()); |
2474 | 2474 |
|
... | ... | |
2477 | 2477 |
Assert.assertTrue(name.isProtectedTitleCache()); |
2478 | 2478 |
Assert.assertNull(name.getGenusOrUninomial()); |
2479 | 2479 |
Assert.assertNull(name.getSpecificEpithet()); |
2480 |
Assert.assertNull(name.getCultivarName());
|
|
2481 |
Assert.assertNull(name.getCultivarGroup()); |
|
2480 |
Assert.assertNull(name.getCultivarEpithet());
|
|
2481 |
Assert.assertNull(name.getCultivarGroupEpithet());
|
|
2482 | 2482 |
Assert.assertEquals(combined, name.getNameCache()); |
2483 | 2483 |
Assert.assertNull(name.getRank()); |
2484 | 2484 |
} |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/validation/NameMustFollowCodeTest.java | ||
---|---|---|
48 | 48 |
viralName = TaxonNameFactory.NewViralInstance(Rank.SPECIES()); |
49 | 49 |
zoologicalName = TaxonNameFactory.NewZoologicalInstance(Rank.SPECIES()); |
50 | 50 |
bacterialName = TaxonNameFactory.NewBacterialInstance(Rank.SPECIES()); |
51 |
cultivarName = TaxonNameFactory.NewCultivarInstance(Rank.SPECIES());
|
|
51 |
cultivarName = TaxonNameFactory.NewCultivarInstance(Rank.CULTIVAR());
|
|
52 | 52 |
} |
53 | 53 |
|
54 | 54 |
/****************** TESTS *****************************/ |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java | ||
---|---|---|
874 | 874 |
|
875 | 875 |
TaxonName botName = TaxonNameFactory.NewCultivarInstance(Rank.SUBSPECIES()); |
876 | 876 |
botName.setAnamorphic(true); |
877 |
botName.setCultivarName("cultivarName");
|
|
877 |
botName.setCultivarEpithet("cultivarEpithet");
|
|
878 | 878 |
botName.setGenusOrUninomial("Genus"); |
879 | 879 |
botName.setInfraGenericEpithet("InfraGeneric"); |
880 | 880 |
botName.setSpecificEpithet("specificEpithet"); |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v525_527/SchemaUpdater_5251_5270.java | ||
---|---|---|
15 | 15 |
import org.apache.log4j.Logger; |
16 | 16 |
|
17 | 17 |
import eu.etaxonomy.cdm.database.update.ColumnAdder; |
18 |
import eu.etaxonomy.cdm.database.update.ColumnNameChanger; |
|
18 | 19 |
import eu.etaxonomy.cdm.database.update.ISchemaUpdater; |
19 | 20 |
import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep; |
20 | 21 |
import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase; |
... | ... | |
58 | 59 |
|
59 | 60 |
List<ISchemaUpdaterStep> stepList = new ArrayList<>(); |
60 | 61 |
|
62 |
//cultivarEpi |
|
63 |
stepName = "Change cultivar name column name"; |
|
64 |
tableName = "TaxonName"; |
|
65 |
String oldColumnName = "cultivarName"; |
|
66 |
newColumnName = "cultivarEpithet"; |
|
67 |
ColumnNameChanger.NewVarCharInstance(stepList, stepName, tableName, oldColumnName, newColumnName, 255, INCLUDE_AUDIT); |
|
68 |
|
|
61 | 69 |
//add cultivarGroup |
62 | 70 |
//#9761 |
63 | 71 |
stepName = "Add cultivarGroup"; |
64 | 72 |
tableName = "TaxonName"; |
65 |
newColumnName = "cultivarGroup"; |
|
73 |
newColumnName = "cultivarGroupEpithet";
|
|
66 | 74 |
ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT); |
67 | 75 |
|
68 | 76 |
//TODO update where rank = CultivarGroup |
cdmlib-test/src/main/resources/eu/etaxonomy/cdm/database/schema/dataset.dtd | ||
---|---|---|
3400 | 3400 |
HYBRIDFORMULA CDATA #IMPLIED |
3401 | 3401 |
MONOMHYBRID CDATA #IMPLIED |
3402 | 3402 |
TRINOMHYBRID CDATA #IMPLIED |
3403 |
CULTIVARNAME CDATA #IMPLIED |
|
3403 |
CULTIVARGROUPEPITHET CDATA #IMPLIED |
|
3404 |
CULTIVAREPITHET CDATA #IMPLIED |
|
3404 | 3405 |
ACRONYM CDATA #IMPLIED |
3405 | 3406 |
BREED CDATA #IMPLIED |
3406 | 3407 |
ORIGINALPUBLICATIONYEAR CDATA #IMPLIED |
... | ... | |
3473 | 3474 |
HYBRIDFORMULA CDATA #IMPLIED |
3474 | 3475 |
MONOMHYBRID CDATA #IMPLIED |
3475 | 3476 |
TRINOMHYBRID CDATA #IMPLIED |
3476 |
CULTIVARNAME CDATA #IMPLIED |
|
3477 |
CULTIVARGROUPEPITHET CDATA #IMPLIED |
|
3478 |
CULTIVAREPITHET CDATA #IMPLIED |
|
3477 | 3479 |
BREED CDATA #IMPLIED |
3478 | 3480 |
ORIGINALPUBLICATIONYEAR CDATA #IMPLIED |
3479 | 3481 |
PUBLICATIONYEAR CDATA #IMPLIED |
Also available in: Unified diff
ref #9755 update cultivarName->cultivarEpithet