Project

General

Profile

« Previous | Next » 

Revision 55936b8f

Added by Andreas Müller almost 6 years ago

fix #6943 add zoological in-authors to TaxonName

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/TaxonName.java
24 24
import javax.persistence.FetchType;
25 25
import javax.persistence.Inheritance;
26 26
import javax.persistence.InheritanceType;
27
import javax.persistence.JoinColumn;
28 27
import javax.persistence.JoinTable;
29 28
import javax.persistence.ManyToMany;
30 29
import javax.persistence.ManyToOne;
......
169 168
    "breed",
170 169
    "publicationYear",
171 170
    "originalPublicationYear",
171
    "inCombinationAuthorship",
172
    "inBasionymAuthorship",
172 173

  
173 174
    "anamorphic",
174 175

  
......
414 415
    @Pattern(regexp = "[a-z\\u00E4\\u00EB\\u00EF\\u00F6\\u00FC\\-]+", groups=Level2.class, message = "{eu.etaxonomy.cdm.model.name.NonViralName.allowedCharactersForEpithet.message}")
415 416
    private String infraSpecificEpithet;
416 417

  
417
    @XmlElement(name = "CombinationAuthorship", type = TeamOrPersonBase.class)
418
    @XmlElement(name = "CombinationAuthorship")
418 419
    @XmlIDREF
419 420
    @XmlSchemaType(name = "IDREF")
420 421
    @ManyToOne(fetch = FetchType.LAZY)
421
//    @Target(TeamOrPersonBase.class)
422 422
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
423
    @JoinColumn(name="combinationAuthorship_id")
424 423
    @CacheUpdate("authorshipCache")
425 424
    @IndexedEmbedded
426 425
    private TeamOrPersonBase<?> combinationAuthorship;
427 426

  
428
    @XmlElement(name = "ExCombinationAuthorship", type = TeamOrPersonBase.class)
427
    @XmlElement(name = "ExCombinationAuthorship")
429 428
    @XmlIDREF
430 429
    @XmlSchemaType(name = "IDREF")
431 430
    @ManyToOne(fetch = FetchType.LAZY)
432
//    @Target(TeamOrPersonBase.class)
433 431
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
434
    @JoinColumn(name="exCombinationAuthorship_id")
435 432
    @CacheUpdate("authorshipCache")
436 433
    @IndexedEmbedded
437 434
    private TeamOrPersonBase<?> exCombinationAuthorship;
438 435

  
439
    @XmlElement(name = "BasionymAuthorship", type = TeamOrPersonBase.class)
436
    //#6943
437
    @XmlElement(name = "InCombinationAuthorship")
438
    @XmlIDREF
439
    @XmlSchemaType(name = "IDREF")
440
    @ManyToOne(fetch = FetchType.LAZY)
441
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
442
    @CacheUpdate("authorshipCache")
443
    @IndexedEmbedded
444
    private TeamOrPersonBase<?> inCombinationAuthorship;
445

  
446
    @XmlElement(name = "BasionymAuthorship")
440 447
    @XmlIDREF
441 448
    @XmlSchemaType(name = "IDREF")
442 449
    @ManyToOne(fetch = FetchType.LAZY)
443
//    @Target(TeamOrPersonBase.class)
444 450
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
445
    @JoinColumn(name="basionymAuthorship_id")
446 451
    @CacheUpdate("authorshipCache")
447 452
    @IndexedEmbedded
448 453
    private TeamOrPersonBase<?> basionymAuthorship;
449 454

  
450
    @XmlElement(name = "ExBasionymAuthorship", type = TeamOrPersonBase.class)
455
    @XmlElement(name = "ExBasionymAuthorship")
451 456
    @XmlIDREF
452 457
    @XmlSchemaType(name = "IDREF")
453 458
    @ManyToOne(fetch = FetchType.LAZY)
454
//    @Target(TeamOrPersonBase.class)
455 459
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
456
    @JoinColumn(name="exBasionymAuthorship_id")
457 460
    @CacheUpdate("authorshipCache")
458 461
    @IndexedEmbedded
459 462
    private TeamOrPersonBase<?> exBasionymAuthorship;
460 463

  
464
    //#6943
465
    @XmlElement(name = "InBasionymAuthorship")
466
    @XmlIDREF
467
    @XmlSchemaType(name = "IDREF")
468
    @ManyToOne(fetch = FetchType.LAZY)
469
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
470
    @CacheUpdate("authorshipCache")
471
    @IndexedEmbedded
472
    private TeamOrPersonBase<?> inBasionymAuthorship;
473

  
461 474
    @XmlElement(name = "AuthorshipCache")
462 475
    @Fields({
463 476
        @Field(name = "authorshipCache_tokenized"),
......
974 987
    public TeamOrPersonBase<?> getExCombinationAuthorship(){
975 988
        return this.exCombinationAuthorship;
976 989
    }
977

  
978 990
    /**
979 991
     * @see  #getExCombinationAuthorship()
980 992
     */
......
983 995
        this.exCombinationAuthorship = exCombinationAuthorship;
984 996
    }
985 997

  
998
    @Override
999
    public TeamOrPersonBase<?> getInCombinationAuthorship(){
1000
        return this.inCombinationAuthorship;
1001
    }
1002
    @Override
1003
    public void setInCombinationAuthorship(TeamOrPersonBase<?> inCombinationAuthorship) {
1004
        this.inCombinationAuthorship = inCombinationAuthorship;
1005
    }
1006

  
986 1007
    /**
987 1008
     * Returns the {@link eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor author (team)} that published the original combination
988 1009
     * on which <i>this</i> non viral taxon name is nomenclaturally based. Such an
......
1036 1057
        this.exBasionymAuthorship = exBasionymAuthorship;
1037 1058
    }
1038 1059

  
1060
    @Override
1061
    public TeamOrPersonBase<?> getInBasionymAuthorship(){
1062
        return this.inBasionymAuthorship;
1063
    }
1064
    @Override
1065
    public void setInBasionymAuthorship(TeamOrPersonBase<?> inBasionymAuthorship) {
1066
        this.inBasionymAuthorship = inBasionymAuthorship;
1067
    }
1068

  
1039 1069
    /**
1040 1070
     * Returns the boolean value of the flag intended to protect (true)
1041 1071
     * or not (false) the {@link #getAuthorshipCache() authorshipCache} (complete authorship string)

Also available in: Unified diff