annotate src/main/java/de/mpiwg/itgroup/ismi/utils/templates/AuthorTemplate.java @ 216:93d33f138c9e default tip

update medeniyet image server URL.
author casties
date Wed, 26 Jan 2022 16:39:32 +0100
parents 4ec8d4cfad26
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.utils.templates;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.Collection;
jurzua
parents:
diff changeset
5 import java.util.HashMap;
jurzua
parents:
diff changeset
6 import java.util.List;
jurzua
parents:
diff changeset
7 import java.util.Map;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
10 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.cache.WrapperService;
jurzua
parents:
diff changeset
12 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
13 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
14 import org.mpi.openmind.repository.bo.Relation;
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean;
jurzua
parents:
diff changeset
17 import de.mpiwg.itgroup.ismi.util.guiComponents.Calendar;
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 public class AuthorTemplate extends AbstractTemplate{
jurzua
parents:
diff changeset
20
jurzua
parents:
diff changeset
21 private static Logger logger = Logger.getLogger(AuthorTemplate.class);
jurzua
parents:
diff changeset
22
jurzua
parents:
diff changeset
23 private static String birth_date = "birth_date";
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 private static String lived_in = "lived_in";
jurzua
parents:
diff changeset
26 private static String has_role = "has_role";
jurzua
parents:
diff changeset
27 private static String was_student_of = "was_student_of";
jurzua
parents:
diff changeset
28
jurzua
parents:
diff changeset
29 public String privacity;
jurzua
parents:
diff changeset
30 public String name;
jurzua
parents:
diff changeset
31 public String nameTranslit;
jurzua
parents:
diff changeset
32 public String bornInPlace;
jurzua
parents:
diff changeset
33 public String diedInPlace;
jurzua
parents:
diff changeset
34 public String primeAlias;
jurzua
parents:
diff changeset
35 public String notes;
jurzua
parents:
diff changeset
36 public String url;
jurzua
parents:
diff changeset
37 public List<String> aliasList;
jurzua
parents:
diff changeset
38 public List<String> roleList;
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40 public String birthDate;
jurzua
parents:
diff changeset
41 public String deathDate;
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 public Map<String, String> livedInPlaceMap;
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45 public AuthorTemplate(Entity entity, WrapperService om){
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 logger.info("Diplaying " + entity);
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 if (entity.isLightweight()) {
jurzua
parents:
diff changeset
50 entity = om.getEntityContent(entity);
jurzua
parents:
diff changeset
51 }
jurzua
parents:
diff changeset
52 this.aliasList = new ArrayList<String>();
jurzua
parents:
diff changeset
53 this.roleList = new ArrayList<String>();
jurzua
parents:
diff changeset
54 this.livedInPlaceMap = new HashMap<String, String>();
jurzua
parents:
diff changeset
55 this.privacity = entity.getPrivacity();
jurzua
parents:
diff changeset
56
jurzua
parents:
diff changeset
57 Attribute attName = entity.getAttributeByName("name");
jurzua
parents:
diff changeset
58 Attribute attNameTranslit = entity.getAttributeByName("name_translit");
jurzua
parents:
diff changeset
59 Attribute attNotes = entity.getAttributeByName("notes");
jurzua
parents:
diff changeset
60 Attribute attUrl = entity.getAttributeByName("url");
jurzua
parents:
diff changeset
61 this.name = (attName == null) ? null : attName.getValue();
jurzua
parents:
diff changeset
62 this.nameTranslit = (attNameTranslit == null) ? null : attNameTranslit.getValue();
jurzua
parents:
diff changeset
63 this.notes = (attNotes == null) ? null : attNotes.getValue();
jurzua
parents:
diff changeset
64 this.url = (attUrl == null) ? null : attUrl.getValue();
jurzua
parents:
diff changeset
65
jurzua
parents:
diff changeset
66 Calendar calDeathDate = AbstractISMIBean.updateCalendar(entity.getAttributeByName("death_date"));
jurzua
parents:
diff changeset
67 this.deathDate = calDeathDate.getCalendarAsHtml();
jurzua
parents:
diff changeset
68
jurzua
parents:
diff changeset
69 Calendar calBirthDate = AbstractISMIBean.updateCalendar(entity.getAttributeByName(birth_date));
jurzua
parents:
diff changeset
70 this.birthDate = calBirthDate.getCalendarAsHtml();
jurzua
parents:
diff changeset
71
jurzua
parents:
diff changeset
72 //this.setCurrentId(entity.getId().toString());
jurzua
parents:
diff changeset
73 //this.loadAttributes(entity);
jurzua
parents:
diff changeset
74
jurzua
parents:
diff changeset
75 for (Relation rel : entity.getSourceRelations()) {
jurzua
parents:
diff changeset
76 if(StringUtils.isEmpty(rel.getOwnValue()) || StringUtils.isEmpty(rel.getTargetObjectClass())){
jurzua
parents:
diff changeset
77 try {
jurzua
parents:
diff changeset
78 throw new Exception("Relation has no ownValue and/or targetObjCls " + rel);
jurzua
parents:
diff changeset
79 } catch (Exception e) {
jurzua
parents:
diff changeset
80 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
81 }
jurzua
parents:
diff changeset
82 }else{
jurzua
parents:
diff changeset
83 Entity target = om.getEntityById(rel.getTargetId());
jurzua
parents:
diff changeset
84 if (rel.getOwnValue().equals("was_born_in")) {
jurzua
parents:
diff changeset
85 this.bornInPlace = (target == null) ? "" : target.getOwnValue();
jurzua
parents:
diff changeset
86 } else if (rel.getOwnValue().equals(lived_in)) {
jurzua
parents:
diff changeset
87 String date = (rel.getAttributeByName("date") != null) ?
jurzua
parents:
diff changeset
88 new Calendar(rel.getAttributeByName("date").getOwnValue()).getCalendarAsHtml() :
jurzua
parents:
diff changeset
89 "";
jurzua
parents:
diff changeset
90 this.livedInPlaceMap.put(target.getOwnValue(), date);
jurzua
parents:
diff changeset
91 } else if (rel.getOwnValue().equals(was_student_of)) {
jurzua
parents:
diff changeset
92 //this.studentOfList.add(target);
jurzua
parents:
diff changeset
93 } else if (rel.getOwnValue().equals(has_role)) {
jurzua
parents:
diff changeset
94 this.roleList.add(target.getOwnValue());
jurzua
parents:
diff changeset
95 } else if (rel.getOwnValue().equals("died_in")) {
jurzua
parents:
diff changeset
96 this.diedInPlace = (target == null) ? "" : target.getOwnValue();
jurzua
parents:
diff changeset
97 }
jurzua
parents:
diff changeset
98 }
jurzua
parents:
diff changeset
99 }
jurzua
parents:
diff changeset
100
jurzua
parents:
diff changeset
101 for (Relation rel : entity.getTargetRelations()) {
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 if(StringUtils.isEmpty(rel.getOwnValue()) || StringUtils.isEmpty(rel.getSourceObjectClass())){
jurzua
parents:
diff changeset
104 try {
jurzua
parents:
diff changeset
105 throw new Exception("Relation has no ownValue and/or sourceObjCls " + rel);
jurzua
parents:
diff changeset
106 } catch (Exception e) {
jurzua
parents:
diff changeset
107 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
108 }
jurzua
parents:
diff changeset
109 }else{
jurzua
parents:
diff changeset
110 if (rel.getOwnValue().equals("was_created_by") && rel.getSourceObjectClass().equals("TEXT")) {
jurzua
parents:
diff changeset
111 Entity title = om.getEntityById(rel.getSourceId());
jurzua
parents:
diff changeset
112 if(title != null && title.getObjectClass().equals("TEXT")){
jurzua
parents:
diff changeset
113 //this.titles.add(title);
jurzua
parents:
diff changeset
114 //I remove this line cause the list in this way would not be sorted.
jurzua
parents:
diff changeset
115 //this.titleItems.add(new SelectItem(title.getId().toString(), title.getOwnValue() + " [" + title.getId() + "]"));
jurzua
parents:
diff changeset
116 }
jurzua
parents:
diff changeset
117 } else if (rel.getOwnValue().equals("is_alias_name_of")) {
jurzua
parents:
diff changeset
118 Entity alias = om.getEntityById(rel.getSourceId());
jurzua
parents:
diff changeset
119 this.aliasList.add(alias.getOwnValue());
jurzua
parents:
diff changeset
120 } else if (rel.getOwnValue().equals("is_prime_alias_name_of")) {
jurzua
parents:
diff changeset
121 Entity alias = om.getEntityByIdWithContent(rel.getSourceId());
jurzua
parents:
diff changeset
122 this.primeAlias = alias.getAttributeByName("alias").getValue();
jurzua
parents:
diff changeset
123 } else if (rel.getOwnValue().equals("is_reference_of")) {
jurzua
parents:
diff changeset
124 Entity ref = om.getEntityByIdWithContent(rel.getSourceId());
jurzua
parents:
diff changeset
125 this.refEntityList.add(ref);
jurzua
parents:
diff changeset
126 }
jurzua
parents:
diff changeset
127 }
jurzua
parents:
diff changeset
128
jurzua
parents:
diff changeset
129 }
jurzua
parents:
diff changeset
130 this.loadRefernces();
jurzua
parents:
diff changeset
131 }
jurzua
parents:
diff changeset
132
jurzua
parents:
diff changeset
133 public String getPrivacity() {
jurzua
parents:
diff changeset
134 return privacity;
jurzua
parents:
diff changeset
135 }
jurzua
parents:
diff changeset
136 public String getName() {
jurzua
parents:
diff changeset
137 return name;
jurzua
parents:
diff changeset
138 }
jurzua
parents:
diff changeset
139 public String getNameTranslit() {
jurzua
parents:
diff changeset
140 return nameTranslit;
jurzua
parents:
diff changeset
141 }
jurzua
parents:
diff changeset
142 public String getBornInPlace() {
jurzua
parents:
diff changeset
143 return bornInPlace;
jurzua
parents:
diff changeset
144 }
jurzua
parents:
diff changeset
145 public String getDiedInPlace() {
jurzua
parents:
diff changeset
146 return diedInPlace;
jurzua
parents:
diff changeset
147 }
jurzua
parents:
diff changeset
148 public String getPrimeAlias() {
jurzua
parents:
diff changeset
149 return primeAlias;
jurzua
parents:
diff changeset
150 }
jurzua
parents:
diff changeset
151 public String getNotes() {
jurzua
parents:
diff changeset
152 return notes;
jurzua
parents:
diff changeset
153 }
jurzua
parents:
diff changeset
154 public String getUrl() {
jurzua
parents:
diff changeset
155 return url;
jurzua
parents:
diff changeset
156 }
jurzua
parents:
diff changeset
157 public List<String> getAliasList() {
jurzua
parents:
diff changeset
158 return aliasList;
jurzua
parents:
diff changeset
159 }
jurzua
parents:
diff changeset
160
jurzua
parents:
diff changeset
161 public String getBirthDate() {
jurzua
parents:
diff changeset
162 return birthDate;
jurzua
parents:
diff changeset
163 }
jurzua
parents:
diff changeset
164 public String getDeathDate() {
jurzua
parents:
diff changeset
165 return deathDate;
jurzua
parents:
diff changeset
166 }
jurzua
parents:
diff changeset
167 public List<String> getRoleList() {
jurzua
parents:
diff changeset
168 return roleList;
jurzua
parents:
diff changeset
169 }
jurzua
parents:
diff changeset
170
jurzua
parents:
diff changeset
171 public Map<String, String> getLivedInPlaceMap() {
jurzua
parents:
diff changeset
172 return livedInPlaceMap;
jurzua
parents:
diff changeset
173 }
jurzua
parents:
diff changeset
174
jurzua
parents:
diff changeset
175 public Collection<String> getLivedInPlaceList(){
jurzua
parents:
diff changeset
176 return livedInPlaceMap.keySet();
jurzua
parents:
diff changeset
177 }
jurzua
parents:
diff changeset
178 }