Mercurial > hg > ismi-richfaces
view src/main/java/de/mpiwg/itgroup/ismi/utils/templates/TitleTemplate.java @ 1:2e911857a759
(none)
author | jurzua |
---|---|
date | Wed, 29 Oct 2014 14:00:28 +0000 |
parents | |
children | 54c1bb63a713 |
line wrap: on
line source
package de.mpiwg.itgroup.ismi.utils.templates; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.mpi.openmind.cache.WrapperService; import org.mpi.openmind.repository.bo.Attribute; import org.mpi.openmind.repository.bo.Entity; import org.mpi.openmind.repository.bo.Relation; import org.mpi.openmind.repository.utils.RomanizationLoC; import de.mpiwg.itgroup.ismi.util.guiComponents.Calendar; public class TitleTemplate extends AbstractTemplate{ private static Logger logger = Logger.getLogger(TitleTemplate.class); public String ov; public String privacity; public String fullTitle; public String fullTitleTranslit; public String language; public String notes; public String category; public String createIn; public String incipit; public String explicit; public String dedication; public String tableOfContents; public String author; public Long authorId; //extra public List<String> aliasList; public List<String> authorMisattributionList; public String personDedicatedTo; public String commentaryOnText; public String translationOfText; public String versionOfText; public String creationDate; public TitleTemplate(Entity entity, WrapperService om, boolean useRomanization){ //logger.info("Diplaying " + entity); this.aliasList = new ArrayList<String>(); this.authorMisattributionList = new ArrayList<String>(); if(entity != null){ this.privacity = entity.getPrivacity(); //attributes Attribute att = om.getAttributeByName(entity.getId(), "full_title"); this.fullTitle = (att != null) ? att.getOwnValue() : null; this.fullTitle = (useRomanization) ? RomanizationLoC.convert(fullTitle) : fullTitle; att = om.getAttributeByName(entity.getId(), "full_title_translit"); this.fullTitleTranslit = (att != null) ? att.getOwnValue() : null; this.fullTitleTranslit = (useRomanization) ? RomanizationLoC.convert(fullTitleTranslit) : fullTitleTranslit; att = om.getAttributeByName(entity.getId(), "creation_date"); if(att != null){ Calendar creationDate = new Calendar(att.getOwnValue()); this.creationDate = creationDate.getCalendarAsHtml(); } att = om.getAttributeByName(entity.getId(), "language"); this.language = (att != null) ? att.getOwnValue() : null; att = om.getAttributeByName(entity.getId(), "notes"); this.notes = (att != null) ? att.getOwnValue() : null; att = om.getAttributeByName(entity.getId(), "incipit"); this.incipit = (att != null) ? att.getOwnValue() : null; att = om.getAttributeByName(entity.getId(), "explicit"); this.explicit = (att != null) ? att.getOwnValue() : null; att = om.getAttributeByName(entity.getId(), "dedication"); this.dedication = (att != null) ? att.getOwnValue() : null; att = om.getAttributeByName(entity.getId(), "table_of_contents"); this.tableOfContents = (att != null) ? att.getOwnValue() : null; List<Entity> tarList = om.getTargetsForSourceRelation(entity.getId(), "has_subject", "SUBJECT", 1); this.category = (tarList.size() > 0) ? tarList.get(0).getOwnValue() : null ; tarList = om.getTargetsForSourceRelation(entity.getId(), "was_created_in", "PLACE", 1); this.createIn = (tarList.size() > 0) ? tarList.get(0).getOwnValue() : null ; List<Entity> list0 = om.getSourcesForTargetRelation(entity.getId(), "is_reference_of", "REFERENCE", -1); for(Entity ref : list0){ this.refEntityList.add(om.getEntityContent(ref)); } list0 = om.getTargetsForSourceRelation(entity.getId(), "was_created_by", "PERSON", -1); if(list0.size() > 0){ this.author = list0.get(0).getOwnValue(); this.author = (useRomanization) ? RomanizationLoC.convert(author) : author; this.authorId = list0.get(0).getId(); } //extra fields ... list0 = om.getSourcesForTargetRelation(entity, "is_alias_title_of", "ALIAS", -1); for(Entity alias : list0){ this.aliasList.add(alias.getOwnValue()); } list0 = om.getTargetsForSourceRelation(entity, "has_author_misattribution", "MISATTRIBUTION", -1); for(Entity misatt : list0){ List<Entity> authorMissattList = om.getTargetsForSourceRelation(misatt, "misattributed_to", "PERSON", 1); if(authorMissattList.size() == 1){ String authorMiss = authorMissattList.get(0).getOwnValue(); authorMiss = (useRomanization) ? RomanizationLoC.convert(authorMiss) : authorMiss; this.authorMisattributionList.add(authorMiss); } } list0 = om.getTargetsForSourceRelation(entity, "was_dedicated_to", "PERSON", 1); this.personDedicatedTo = (list0.size() == 1) ? list0.get(0).getOwnValue() : null; this.personDedicatedTo = (useRomanization) ? RomanizationLoC.convert(personDedicatedTo) : personDedicatedTo; list0 = om.getTargetsForSourceRelation(entity, "is_commentary_on", "TEXT", 1); this.commentaryOnText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null; this.commentaryOnText = (useRomanization) ? RomanizationLoC.convert(commentaryOnText) : commentaryOnText; list0 = om.getTargetsForSourceRelation(entity, "is_translation_of", "TEXT", 1); this.translationOfText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null; this.translationOfText = (useRomanization) ? RomanizationLoC.convert(translationOfText) : translationOfText; list0 = om.getTargetsForSourceRelation(entity, "is_version_of", "TEXT", 1); this.versionOfText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null; this.versionOfText = (useRomanization) ? RomanizationLoC.convert(versionOfText) : versionOfText; } this.loadRefernces(); } public String getOv() { return ov; } public String getPrivacity() { return privacity; } public String getFullTitle() { return fullTitle; } public String getFullTitleTranslit() { return fullTitleTranslit; } public String getLanguage() { return language; } public String getNotes() { return notes; } public String getCategory() { return category; } public String getCreateIn() { return createIn; } public String getIncipit() { return incipit; } public String getExplicit() { return explicit; } public String getDedication() { return dedication; } public String getTableOfContents() { return tableOfContents; } public List<String> getAliasList() { return aliasList; } public String getCreationDate() { return creationDate; } public String getAuthor() { return author; } public Long getAuthorId() { return authorId; } public boolean getHasAuthor(){ return this.authorId != null; } public List<String> getAuthorMisattributionList() { return authorMisattributionList; } }