Project

General

Profile

Download (2.01 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/ 
9

    
10
package eu.etaxonomy.cdm.strategy.cache.media;
11

    
12
import java.util.Arrays;
13
import java.util.List;
14
import java.util.UUID;
15

    
16
import javax.persistence.Transient;
17

    
18
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
19
import eu.etaxonomy.cdm.model.common.Language;
20
import eu.etaxonomy.cdm.model.common.LanguageString;
21
import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
22
import eu.etaxonomy.cdm.model.description.TaxonDescription;
23
import eu.etaxonomy.cdm.model.media.Media;
24
import eu.etaxonomy.cdm.model.taxon.Taxon;
25
import eu.etaxonomy.cdm.strategy.StrategyBase;
26
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
27

    
28
public class MediaDefaultCacheStrategy extends StrategyBase implements
29
		IIdentifiableEntityCacheStrategy<Media> {
30

    
31
	final static UUID uuid = UUID.fromString("0517ae48-597d-4d6b-9f18-8752d689720d");
32
	
33
	@Override
34
	protected UUID getUuid() {
35
		return uuid;
36
	}
37
	
38
	
39
	public String getTitleCache(Media media) {
40
		media = (Media) HibernateProxyHelper.deproxy(media, Media.class);
41
		
42
		List<Language> languages = Arrays.asList(new Language[]{Language.DEFAULT()});
43
		LanguageString languageString = MultilanguageTextHelper.getPreferredLanguageString(media.getAllTitles(), languages);
44
		return languageString != null ? languageString.getText() : null;
45
	
46
	}
47
	
48
	public String getTitleCacheByLanguage(Media media, Language lang) {
49
		List<Language> languages = Arrays.asList(new Language[]{lang});
50
		LanguageString languageString = MultilanguageTextHelper.getPreferredLanguageString(media.getAllTitles(), languages);
51
		return languageString != null ? languageString.getText() : null;
52
	
53
	}
54

    
55

    
56
	public static MediaDefaultCacheStrategy NewInstance() {
57
		return new MediaDefaultCacheStrategy();
58
	}
59

    
60
	
61
}
    (1-1/1)