Project

General

Profile

« Previous | Next » 

Revision 6cfc0581

Added by Andreas Müller over 2 years ago

ref #9755 update cultivarName->cultivarEpithet

View differences:

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