annotate src/main/java/de/mpiwg/itgroup/ismi/publicView/PublicCodexView.java @ 173:aa564b1b5e1f public_by_author

publicByAuthor feature ui for selecting texts ready. actual changing of public state not yet implemented.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 06 Jun 2018 21:01:05 +0200
parents 2e911857a759
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.publicView;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.List;
jurzua
parents:
diff changeset
5
jurzua
parents:
diff changeset
6 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
7 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
8 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
9 import org.mpi.openmind.repository.bo.ViewerPage;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.utils.RomanizationLoC;
jurzua
parents:
diff changeset
11
jurzua
parents:
diff changeset
12 import de.mpiwg.itgroup.ismi.entry.beans.AbstractBean;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 public class PublicCodexView extends AbstractBean{
jurzua
parents:
diff changeset
15 private static final long serialVersionUID = -3013781647163292966L;
jurzua
parents:
diff changeset
16
jurzua
parents:
diff changeset
17 private Entity codex;
jurzua
parents:
diff changeset
18 private Entity digi;
jurzua
parents:
diff changeset
19 private List<WitnessItem> witnessList;
jurzua
parents:
diff changeset
20 private boolean codexPublic = true;
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 private Long dynamicCodexPageId;
jurzua
parents:
diff changeset
23 private Long dynamicWitnessPageId;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 public void load(String id){
jurzua
parents:
diff changeset
26 try {
jurzua
parents:
diff changeset
27 this.load(Long.parseLong(id));
jurzua
parents:
diff changeset
28 } catch (Exception e) {
jurzua
parents:
diff changeset
29 e.printStackTrace();
jurzua
parents:
diff changeset
30 }
jurzua
parents:
diff changeset
31 }
jurzua
parents:
diff changeset
32 public void load(Long id){
jurzua
parents:
diff changeset
33 this.witnessList = new ArrayList<WitnessItem>();
jurzua
parents:
diff changeset
34 this.codex = getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
35 this.digi = null;
jurzua
parents:
diff changeset
36 if(codex != null){
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 List<Entity> tmp = getWrapper().getSourcesForTargetRelation(codex, "is_digitalization_of", "DIGITALIZATION", 1);
jurzua
parents:
diff changeset
39 digi = (tmp.isEmpty()) ? null : tmp.get(0);
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 tmp = getWrapper().getSourcesForTargetRelation(codex, "is_part_of", "WITNESS", -1);
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 for(Entity witness : tmp){
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45 List<Entity> list0 = getWrapper().getTargetsForSourceRelation(witness.getId(), "is_exemplar_of", "TEXT", 1);
jurzua
parents:
diff changeset
46 //TODO the label should be normalized with the new algorithm of Chantal
jurzua
parents:
diff changeset
47 String label = (list0.isEmpty()) ? witness.getOwnValue() : list0.get(0).getOwnValue();
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 //calculating the image index for the diva viewer
jurzua
parents:
diff changeset
50 //String divaImageIndex = this.getDivaImage(digi.getOwnValue(), getWrapper().getAttributeByName(witness.getId(), "start_page"));
jurzua
parents:
diff changeset
51 this.witnessList.add(new WitnessItem(witness.getId(), label/*, divaImageIndex*/));
jurzua
parents:
diff changeset
52 }
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54
jurzua
parents:
diff changeset
55 }
jurzua
parents:
diff changeset
56 ViewerPage tmp = getWrapper().getViewerPage("Codex");
jurzua
parents:
diff changeset
57 this.dynamicCodexPageId = (tmp == null) ? dynamicCodexPageId : tmp.getId();
jurzua
parents:
diff changeset
58
jurzua
parents:
diff changeset
59 tmp = getWrapper().getViewerPage("Witness");
jurzua
parents:
diff changeset
60 this.dynamicWitnessPageId = (tmp == null) ? dynamicWitnessPageId : tmp.getId();
jurzua
parents:
diff changeset
61 }
jurzua
parents:
diff changeset
62
jurzua
parents:
diff changeset
63 public boolean isCodexPublic(){
jurzua
parents:
diff changeset
64 return this.codexPublic;
jurzua
parents:
diff changeset
65 }
jurzua
parents:
diff changeset
66 public Entity getCodex() {
jurzua
parents:
diff changeset
67 return codex;
jurzua
parents:
diff changeset
68 }
jurzua
parents:
diff changeset
69 public void setCodex(Entity codex) {
jurzua
parents:
diff changeset
70 this.codex = codex;
jurzua
parents:
diff changeset
71 }
jurzua
parents:
diff changeset
72 public Entity getDigi() {
jurzua
parents:
diff changeset
73 return digi;
jurzua
parents:
diff changeset
74 }
jurzua
parents:
diff changeset
75 public void setDigi(Entity digi) {
jurzua
parents:
diff changeset
76 this.digi = digi;
jurzua
parents:
diff changeset
77 }
jurzua
parents:
diff changeset
78 public List<WitnessItem> getWitnessList() {
jurzua
parents:
diff changeset
79 return witnessList;
jurzua
parents:
diff changeset
80 }
jurzua
parents:
diff changeset
81 public void setWitnessList(List<WitnessItem> witnessList) {
jurzua
parents:
diff changeset
82 this.witnessList = witnessList;
jurzua
parents:
diff changeset
83 }
jurzua
parents:
diff changeset
84 public void setCodexPublic(boolean codexPublic) {
jurzua
parents:
diff changeset
85 this.codexPublic = codexPublic;
jurzua
parents:
diff changeset
86 }
jurzua
parents:
diff changeset
87 public Long getDynamicCodexPageId() {
jurzua
parents:
diff changeset
88 return dynamicCodexPageId;
jurzua
parents:
diff changeset
89 }
jurzua
parents:
diff changeset
90 public Long getDynamicWitnessPageId() {
jurzua
parents:
diff changeset
91 return dynamicWitnessPageId;
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 public class WitnessItem{
jurzua
parents:
diff changeset
95 private String label;
jurzua
parents:
diff changeset
96 private Long id;
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98 public WitnessItem(Long id, String label){
jurzua
parents:
diff changeset
99 this.id = id;
jurzua
parents:
diff changeset
100 this.label = RomanizationLoC.convert(label);
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 public String getLabel() {
jurzua
parents:
diff changeset
104 return label;
jurzua
parents:
diff changeset
105 }
jurzua
parents:
diff changeset
106
jurzua
parents:
diff changeset
107 public Long getId() {
jurzua
parents:
diff changeset
108 return id;
jurzua
parents:
diff changeset
109 }
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111 }