1
|
1 package de.mpiwg.itgroup.ismi.utils.templates;
|
|
2
|
|
3 import java.util.ArrayList;
|
|
4 import java.util.HashMap;
|
|
5 import java.util.List;
|
|
6 import java.util.Map;
|
|
7
|
|
8 import org.apache.log4j.Logger;
|
|
9 import org.mpi.openmind.cache.WrapperService;
|
|
10 import org.mpi.openmind.repository.bo.Attribute;
|
|
11 import org.mpi.openmind.repository.bo.Entity;
|
|
12 import org.mpi.openmind.repository.bo.Relation;
|
|
13 import org.mpi.openmind.repository.utils.RomanizationLoC;
|
|
14
|
|
15 import de.mpiwg.itgroup.ismi.util.guiComponents.Calendar;
|
|
16
|
|
17 public class TitleTemplate extends AbstractTemplate{
|
|
18
|
|
19 private static Logger logger = Logger.getLogger(TitleTemplate.class);
|
|
20
|
|
21 public String ov;
|
|
22 public String privacity;
|
|
23 public String fullTitle;
|
|
24 public String fullTitleTranslit;
|
|
25 public String language;
|
|
26 public String notes;
|
|
27 public String category;
|
|
28 public String createIn;
|
|
29 public String incipit;
|
|
30 public String explicit;
|
|
31 public String dedication;
|
|
32 public String tableOfContents;
|
|
33 public String author;
|
|
34 public Long authorId;
|
|
35 //extra
|
|
36 public List<String> aliasList;
|
|
37 public List<String> authorMisattributionList;
|
|
38 public String personDedicatedTo;
|
|
39 public String commentaryOnText;
|
|
40 public String translationOfText;
|
|
41 public String versionOfText;
|
|
42
|
|
43
|
|
44 public String creationDate;
|
|
45
|
|
46 public TitleTemplate(Entity entity, WrapperService om, boolean useRomanization){
|
|
47
|
|
48 //logger.info("Diplaying " + entity);
|
|
49
|
|
50 this.aliasList = new ArrayList<String>();
|
|
51 this.authorMisattributionList = new ArrayList<String>();
|
|
52
|
|
53 if(entity != null){
|
|
54
|
|
55 this.privacity = entity.getPrivacity();
|
|
56
|
|
57 //attributes
|
|
58 Attribute att = om.getAttributeByName(entity.getId(), "full_title");
|
|
59 this.fullTitle = (att != null) ? att.getOwnValue() : null;
|
|
60 this.fullTitle = (useRomanization) ? RomanizationLoC.convert(fullTitle) : fullTitle;
|
|
61
|
|
62 att = om.getAttributeByName(entity.getId(), "full_title_translit");
|
|
63 this.fullTitleTranslit = (att != null) ? att.getOwnValue() : null;
|
|
64 this.fullTitleTranslit = (useRomanization) ? RomanizationLoC.convert(fullTitleTranslit) : fullTitleTranslit;
|
|
65
|
|
66 att = om.getAttributeByName(entity.getId(), "creation_date");
|
|
67 if(att != null){
|
|
68 Calendar creationDate = new Calendar(att.getOwnValue());
|
|
69 this.creationDate = creationDate.getCalendarAsHtml();
|
|
70 }
|
|
71
|
|
72 att = om.getAttributeByName(entity.getId(), "language");
|
|
73 this.language = (att != null) ? att.getOwnValue() : null;
|
|
74
|
|
75 att = om.getAttributeByName(entity.getId(), "notes");
|
|
76 this.notes = (att != null) ? att.getOwnValue() : null;
|
|
77
|
|
78 att = om.getAttributeByName(entity.getId(), "incipit");
|
|
79 this.incipit = (att != null) ? att.getOwnValue() : null;
|
|
80
|
|
81 att = om.getAttributeByName(entity.getId(), "explicit");
|
|
82 this.explicit = (att != null) ? att.getOwnValue() : null;
|
|
83
|
|
84 att = om.getAttributeByName(entity.getId(), "dedication");
|
|
85 this.dedication = (att != null) ? att.getOwnValue() : null;
|
|
86
|
|
87 att = om.getAttributeByName(entity.getId(), "table_of_contents");
|
|
88 this.tableOfContents = (att != null) ? att.getOwnValue() : null;
|
|
89
|
|
90 List<Entity> tarList = om.getTargetsForSourceRelation(entity.getId(), "has_subject", "SUBJECT", 1);
|
|
91 this.category = (tarList.size() > 0) ? tarList.get(0).getOwnValue() : null ;
|
|
92
|
|
93 tarList = om.getTargetsForSourceRelation(entity.getId(), "was_created_in", "PLACE", 1);
|
|
94 this.createIn = (tarList.size() > 0) ? tarList.get(0).getOwnValue() : null ;
|
|
95
|
|
96 List<Entity> list0 = om.getSourcesForTargetRelation(entity.getId(), "is_reference_of", "REFERENCE", -1);
|
|
97 for(Entity ref : list0){
|
|
98 this.refEntityList.add(om.getEntityContent(ref));
|
|
99 }
|
|
100
|
|
101
|
|
102
|
|
103 list0 = om.getTargetsForSourceRelation(entity.getId(), "was_created_by", "PERSON", -1);
|
|
104 if(list0.size() > 0){
|
|
105 this.author = list0.get(0).getOwnValue();
|
|
106 this.author = (useRomanization) ? RomanizationLoC.convert(author) : author;
|
|
107 this.authorId = list0.get(0).getId();
|
|
108 }
|
|
109
|
|
110 //extra fields ...
|
|
111
|
|
112 list0 = om.getSourcesForTargetRelation(entity, "is_alias_title_of", "ALIAS", -1);
|
|
113 for(Entity alias : list0){
|
|
114 this.aliasList.add(alias.getOwnValue());
|
|
115 }
|
|
116
|
|
117 list0 = om.getTargetsForSourceRelation(entity, "has_author_misattribution", "MISATTRIBUTION", -1);
|
|
118 for(Entity misatt : list0){
|
|
119 List<Entity> authorMissattList = om.getTargetsForSourceRelation(misatt, "misattributed_to", "PERSON", 1);
|
|
120 if(authorMissattList.size() == 1){
|
|
121 String authorMiss = authorMissattList.get(0).getOwnValue();
|
|
122 authorMiss = (useRomanization) ? RomanizationLoC.convert(authorMiss) : authorMiss;
|
|
123 this.authorMisattributionList.add(authorMiss);
|
|
124 }
|
|
125 }
|
|
126
|
|
127 list0 = om.getTargetsForSourceRelation(entity, "was_dedicated_to", "PERSON", 1);
|
|
128 this.personDedicatedTo = (list0.size() == 1) ? list0.get(0).getOwnValue() : null;
|
|
129 this.personDedicatedTo = (useRomanization) ? RomanizationLoC.convert(personDedicatedTo) : personDedicatedTo;
|
|
130
|
|
131 list0 = om.getTargetsForSourceRelation(entity, "is_commentary_on", "TEXT", 1);
|
|
132 this.commentaryOnText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null;
|
|
133 this.commentaryOnText = (useRomanization) ? RomanizationLoC.convert(commentaryOnText) : commentaryOnText;
|
|
134
|
|
135 list0 = om.getTargetsForSourceRelation(entity, "is_translation_of", "TEXT", 1);
|
|
136 this.translationOfText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null;
|
|
137 this.translationOfText = (useRomanization) ? RomanizationLoC.convert(translationOfText) : translationOfText;
|
|
138
|
|
139 list0 = om.getTargetsForSourceRelation(entity, "is_version_of", "TEXT", 1);
|
|
140 this.versionOfText = (list0.size() == 1) ? list0.get(0).getOwnValue() : null;
|
|
141 this.versionOfText = (useRomanization) ? RomanizationLoC.convert(versionOfText) : versionOfText;
|
|
142 }
|
|
143
|
|
144 this.loadRefernces();
|
|
145
|
|
146 }
|
|
147
|
|
148 public String getOv() {
|
|
149 return ov;
|
|
150 }
|
|
151 public String getPrivacity() {
|
|
152 return privacity;
|
|
153 }
|
|
154 public String getFullTitle() {
|
|
155 return fullTitle;
|
|
156 }
|
|
157 public String getFullTitleTranslit() {
|
|
158 return fullTitleTranslit;
|
|
159 }
|
|
160 public String getLanguage() {
|
|
161 return language;
|
|
162 }
|
|
163 public String getNotes() {
|
|
164 return notes;
|
|
165 }
|
|
166 public String getCategory() {
|
|
167 return category;
|
|
168 }
|
|
169 public String getCreateIn() {
|
|
170 return createIn;
|
|
171 }
|
|
172 public String getIncipit() {
|
|
173 return incipit;
|
|
174 }
|
|
175 public String getExplicit() {
|
|
176 return explicit;
|
|
177 }
|
|
178 public String getDedication() {
|
|
179 return dedication;
|
|
180 }
|
|
181 public String getTableOfContents() {
|
|
182 return tableOfContents;
|
|
183 }
|
|
184 public List<String> getAliasList() {
|
|
185 return aliasList;
|
|
186 }
|
|
187 public String getCreationDate() {
|
|
188 return creationDate;
|
|
189 }
|
|
190 public String getAuthor() {
|
|
191 return author;
|
|
192 }
|
|
193 public Long getAuthorId() {
|
|
194 return authorId;
|
|
195 }
|
|
196
|
|
197 public boolean getHasAuthor(){
|
|
198 return this.authorId != null;
|
|
199 }
|
|
200
|
|
201 public List<String> getAuthorMisattributionList() {
|
|
202 return authorMisattributionList;
|
|
203 }
|
|
204 }
|