1 // $Id: TaxonBeanProcessor.java 5561 2009-04-07 12:25:33Z a.kohlbecker $
3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.cdm
.remote
.json
.processor
.bean
;
13 import java
.util
.Arrays
;
14 import java
.util
.List
;
16 import net
.sf
.json
.JSONObject
;
17 import net
.sf
.json
.JsonConfig
;
19 import org
.apache
.log4j
.Logger
;
20 import org
.hibernate
.Hibernate
;
22 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
23 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
24 import eu
.etaxonomy
.cdm
.model
.common
.MultilanguageTextHelper
;
25 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermVocabulary
;
26 import eu
.etaxonomy
.cdm
.model
.common
.RelationshipTermBase
;
27 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
28 import eu
.etaxonomy
.cdm
.model
.common
.TermBase
;
29 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
30 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
31 import eu
.etaxonomy
.cdm
.remote
.l10n
.LocaleContext
;
34 * @author a.kohlbecker
37 public class MediaBeanProcessor
extends AbstractCdmBeanProcessor
<Media
> {
39 public static final Logger logger
= Logger
.getLogger(MediaBeanProcessor
.class);
41 private static final List
<String
> IGNORE_LIST
= Arrays
.asList(new String
[] {
47 private boolean replaceTitle
= false;
49 private boolean replaceDescription
= false;
51 public boolean isReplaceTitle() {
55 public void setReplaceTitle(boolean replaceTitle
) {
56 this.replaceTitle
= replaceTitle
;
59 public boolean isReplaceDescription() {
60 return replaceDescription
;
63 public void setReplaceDescription(boolean replaceDescription
) {
64 this.replaceDescription
= replaceDescription
;
68 * @see eu.etaxonomy.cdm.remote.json.processor.AbstractCdmBeanProcessor#getIgnorePropNames()
71 public List
<String
> getIgnorePropNames() {
76 * @see eu.etaxonomy.cdm.remote.json.processor.AbstractCdmBeanProcessor#processBeanSecondStep(eu.etaxonomy.cdm.model.common.CdmBase, net.sf.json.JSONObject, net.sf.json.JsonConfig)
79 public JSONObject
processBeanSecondStep(Media media
, JSONObject json
, JsonConfig jsonConfig
) {
81 List
<Language
> languages
= LocaleContext
.getLanguages();
82 LanguageString langString
;
85 if(Hibernate
.isInitialized(media
.getTitle())){
86 langString
= MultilanguageTextHelper
.getPreferredLanguageString(media
.getAllTitles(), languages
);
87 if(langString
!= null){
88 if(langString
.getText() != null && langString
.getText().length() != 0){
89 json
.element("title_L10n", langString
.getText());
93 json
.element("title", media
.getTitle(), jsonConfig
);
96 logger
.debug("title of media not initialized " + media
.getUuid().toString());
100 if(Hibernate
.isInitialized(media
.getDescription())){
101 langString
= MultilanguageTextHelper
.getPreferredLanguageString(media
.getDescription(), languages
);
102 if(langString
!= null){
103 if(langString
.getText() != null && langString
.getText().length() != 0){
104 json
.element("description_L10n", langString
.getText());
107 if(!replaceDescription
){
108 json
.element("description", media
.getDescription(), jsonConfig
);
111 logger
.debug("description of media not initialized " + media
.getUuid().toString());