Project

General

Profile

« Previous | Next » 

Revision a2d22dbd

Added by Andreas Müller almost 6 years ago

fix #7074 Change Media.mediaCreated to TimePeriod and make let PartialUserType support hour and minute

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/media/Media.java
15 15
import java.util.Map;
16 16
import java.util.Set;
17 17

  
18
import javax.persistence.Basic;
18
import javax.persistence.Embedded;
19 19
import javax.persistence.Entity;
20 20
import javax.persistence.FetchType;
21 21
import javax.persistence.Inheritance;
......
40 40
import org.apache.log4j.Logger;
41 41
import org.hibernate.annotations.Cascade;
42 42
import org.hibernate.annotations.CascadeType;
43
import org.hibernate.annotations.Type;
44 43
import org.hibernate.envers.Audited;
45 44
import org.hibernate.search.annotations.IndexedEmbedded;
46 45
import org.hibernate.validator.constraints.NotEmpty;
47
import org.joda.time.DateTime;
48 46

  
49
import eu.etaxonomy.cdm.jaxb.DateTimeAdapter;
50 47
import eu.etaxonomy.cdm.jaxb.MultilanguageTextAdapter;
51 48
import eu.etaxonomy.cdm.model.agent.AgentBase;
52 49
import eu.etaxonomy.cdm.model.common.IIntextReferenceTarget;
......
56 53
import eu.etaxonomy.cdm.model.common.Language;
57 54
import eu.etaxonomy.cdm.model.common.LanguageString;
58 55
import eu.etaxonomy.cdm.model.common.MultilanguageText;
56
import eu.etaxonomy.cdm.model.common.TimePeriod;
59 57
import eu.etaxonomy.cdm.model.reference.Reference;
60 58
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
61 59
import eu.etaxonomy.cdm.strategy.cache.media.MediaDefaultCacheStrategy;
......
105 103
    private Map<Language,LanguageString> title = new HashMap<>();
106 104

  
107 105
    //creation date of the media (not of the record)
108
    @XmlElement(name = "MediaCreated", type= String.class)
109
    @XmlJavaTypeAdapter(DateTimeAdapter.class)
110
    @Type(type="dateTimeUserType")
111
    @Basic(fetch = FetchType.LAZY)
112
    private DateTime mediaCreated;
106
    @XmlElement(name ="MediaCreated" )
107
    @Embedded
108
    @IndexedEmbedded
109
    private TimePeriod mediaCreated;
110

  
113 111

  
114
     // TODO once hibernate annotations support custom collection type
112
    // TODO once hibernate annotations support custom collection type
115 113
    // private MultilanguageText description = new MultilanguageText();
116 114
    @XmlElement(name = "MediaDescription")
117 115
    @XmlJavaTypeAdapter(MultilanguageTextAdapter.class)
......
131 129
    @Cascade({CascadeType.SAVE_UPDATE, CascadeType.MERGE, CascadeType.DELETE, CascadeType.REFRESH})
132 130
    @NotNull
133 131
    @NotEmpty(groups = Level2.class)
134
    private Set<MediaRepresentation> representations = new HashSet<MediaRepresentation>();
132
    private Set<MediaRepresentation> representations = new HashSet<>();
135 133

  
136 134
    @XmlElement(name = "Artist")
137 135
    @XmlIDREF
......
141 139
    @Cascade({CascadeType.SAVE_UPDATE,CascadeType.MERGE})
142 140
    private AgentBase<?> artist;
143 141

  
142
//************************* FACTORY METHODS *******************************/
144 143

  
145 144
    /**
146 145
     * Factory method
......
323 322

  
324 323

  
325 324

  
326
    public DateTime getMediaCreated(){
325
    public TimePeriod getMediaCreated(){
327 326
        return this.mediaCreated;
328 327
    }
329 328

  
330
    public void setMediaCreated(DateTime mediaCreated){
329
    public void setMediaCreated(TimePeriod mediaCreated){
331 330
        this.mediaCreated = mediaCreated;
332 331
    }
333 332

  

Also available in: Unified diff