annotate src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/ReferenceTable.java @ 1:2e911857a759

(none)
author jurzua
date Wed, 29 Oct 2014 14:00:28 +0000
parents
children 4aa8c425685d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.util.guiComponents;
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 javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
9
jurzua
parents:
diff changeset
10 import de.mpiwg.itgroup.ismi.entry.beans.AbstractBean;
jurzua
parents:
diff changeset
11 import de.mpiwg.itgroup.ismi.utils.ISMIUtils;
jurzua
parents:
diff changeset
12 import de.mpiwg.itgroup.ismi.utils.SelectableObject;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14
jurzua
parents:
diff changeset
15 public class ReferenceTable extends AbstractBean{
jurzua
parents:
diff changeset
16
jurzua
parents:
diff changeset
17 private Reference ref;
jurzua
parents:
diff changeset
18 private Reference originalRef;
jurzua
parents:
diff changeset
19
jurzua
parents:
diff changeset
20
jurzua
parents:
diff changeset
21 public List<SelectableObject<Reference>> list = new ArrayList<SelectableObject<Reference>>();
jurzua
parents:
diff changeset
22
jurzua
parents:
diff changeset
23 public ReferenceTable(){}
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 public void loadRefs(List<Entity> refs){
jurzua
parents:
diff changeset
26 for(Entity ent : refs){
jurzua
parents:
diff changeset
27 this.list.add(new SelectableObject<Reference>(new Reference(ent)));
jurzua
parents:
diff changeset
28 }
jurzua
parents:
diff changeset
29 }
jurzua
parents:
diff changeset
30
jurzua
parents:
diff changeset
31 public void listenerEditRef(ActionEvent event){
jurzua
parents:
diff changeset
32 SelectableObject<Reference> so = (SelectableObject<Reference>)getRequestBean("item");
jurzua
parents:
diff changeset
33 if(so != null && so.getObj() != null){
jurzua
parents:
diff changeset
34 this.originalRef = (Reference)so.getObj();
jurzua
parents:
diff changeset
35 try {
jurzua
parents:
diff changeset
36 this.ref = (Reference)this.originalRef.clone();
jurzua
parents:
diff changeset
37 } catch (Exception e) {
jurzua
parents:
diff changeset
38 e.printStackTrace();
jurzua
parents:
diff changeset
39 }
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 }else{
jurzua
parents:
diff changeset
42 addErrorMsg("Problems loading references");
jurzua
parents:
diff changeset
43 }
jurzua
parents:
diff changeset
44 }
jurzua
parents:
diff changeset
45
jurzua
parents:
diff changeset
46 public String actionEditRef(){
jurzua
parents:
diff changeset
47 SelectableObject<Reference> so = (SelectableObject<Reference>)getRequestBean("item");
jurzua
parents:
diff changeset
48 if(so != null && so.getObj() != null){
jurzua
parents:
diff changeset
49 this.originalRef = (Reference)so.getObj();
jurzua
parents:
diff changeset
50 try {
jurzua
parents:
diff changeset
51 this.ref = (Reference)this.originalRef.clone();
jurzua
parents:
diff changeset
52 } catch (Exception e) {
jurzua
parents:
diff changeset
53 e.printStackTrace();
jurzua
parents:
diff changeset
54 }
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 }else{
jurzua
parents:
diff changeset
57 addErrorMsg("Problems loading references");
jurzua
parents:
diff changeset
58 }
jurzua
parents:
diff changeset
59 return new String();
jurzua
parents:
diff changeset
60 }
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 public void actionListenerSave(ActionEvent event){
jurzua
parents:
diff changeset
63 this.save();
jurzua
parents:
diff changeset
64 }
jurzua
parents:
diff changeset
65
jurzua
parents:
diff changeset
66 private void save(){
jurzua
parents:
diff changeset
67 System.out.println("actionRefSave actionRefSave actionRefSave");
jurzua
parents:
diff changeset
68 if(!ref.isEmpty()){
jurzua
parents:
diff changeset
69 ref.getEnt();
jurzua
parents:
diff changeset
70 if(originalRef != null){
jurzua
parents:
diff changeset
71 ISMIUtils.replaceRef(list, originalRef, ref);
jurzua
parents:
diff changeset
72 }else{
jurzua
parents:
diff changeset
73 list.add(new SelectableObject<Reference>(ref));
jurzua
parents:
diff changeset
74 }
jurzua
parents:
diff changeset
75 }
jurzua
parents:
diff changeset
76 this.ref = null;
jurzua
parents:
diff changeset
77 this.originalRef = null;
jurzua
parents:
diff changeset
78 }
jurzua
parents:
diff changeset
79
jurzua
parents:
diff changeset
80 public void listenerRefSave(ActionEvent event){
jurzua
parents:
diff changeset
81 if(!ref.isEmpty()){
jurzua
parents:
diff changeset
82 ref.getEnt();
jurzua
parents:
diff changeset
83 if(originalRef != null){
jurzua
parents:
diff changeset
84 ISMIUtils.replaceRef(list, originalRef, ref);
jurzua
parents:
diff changeset
85 }else{
jurzua
parents:
diff changeset
86 list.add(new SelectableObject<Reference>(ref));
jurzua
parents:
diff changeset
87 }
jurzua
parents:
diff changeset
88 }
jurzua
parents:
diff changeset
89 this.ref = null;
jurzua
parents:
diff changeset
90 this.originalRef = null;
jurzua
parents:
diff changeset
91 }
jurzua
parents:
diff changeset
92
jurzua
parents:
diff changeset
93 public void listenerCreateRef(ActionEvent event){
jurzua
parents:
diff changeset
94 this.ref = new Reference(null);
jurzua
parents:
diff changeset
95 this.originalRef = null;
jurzua
parents:
diff changeset
96 }
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98 public String actionCreateRef(){
jurzua
parents:
diff changeset
99 System.out.println("actionCreateRef");
jurzua
parents:
diff changeset
100 this.ref = new Reference(null);
jurzua
parents:
diff changeset
101 this.originalRef = null;
jurzua
parents:
diff changeset
102 return new String("");
jurzua
parents:
diff changeset
103 }
jurzua
parents:
diff changeset
104
jurzua
parents:
diff changeset
105 public String actionCancel(){
jurzua
parents:
diff changeset
106 this.ref = null;
jurzua
parents:
diff changeset
107 this.originalRef = null;
jurzua
parents:
diff changeset
108 return new String();
jurzua
parents:
diff changeset
109 }
jurzua
parents:
diff changeset
110
jurzua
parents:
diff changeset
111
jurzua
parents:
diff changeset
112 public void listenerCancel(ActionEvent event){
jurzua
parents:
diff changeset
113 this.ref = null;
jurzua
parents:
diff changeset
114 this.originalRef = null;
jurzua
parents:
diff changeset
115 }
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 public String actionRemoveRef(){
jurzua
parents:
diff changeset
118 System.out.println("actionRemoveRef");
jurzua
parents:
diff changeset
119 List<SelectableObject<Reference>> toDelete = new ArrayList<SelectableObject<Reference>>();
jurzua
parents:
diff changeset
120 for(SelectableObject<Reference> so : this.list){
jurzua
parents:
diff changeset
121 if(so.isSelected()){
jurzua
parents:
diff changeset
122 toDelete.add(so);
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124 }
jurzua
parents:
diff changeset
125 for(SelectableObject<Reference> so : toDelete){
jurzua
parents:
diff changeset
126 this.list.remove(so);
jurzua
parents:
diff changeset
127 }
jurzua
parents:
diff changeset
128 return new String("");
jurzua
parents:
diff changeset
129 }
jurzua
parents:
diff changeset
130
jurzua
parents:
diff changeset
131 public void listenerRemoveRef(ActionEvent event){
jurzua
parents:
diff changeset
132 List<SelectableObject<Reference>> toDelete = new ArrayList<SelectableObject<Reference>>();
jurzua
parents:
diff changeset
133 for(SelectableObject<Reference> so : this.list){
jurzua
parents:
diff changeset
134 if(so.isSelected()){
jurzua
parents:
diff changeset
135 toDelete.add(so);
jurzua
parents:
diff changeset
136 }
jurzua
parents:
diff changeset
137 }
jurzua
parents:
diff changeset
138 for(SelectableObject<Reference> so : toDelete){
jurzua
parents:
diff changeset
139 this.list.remove(so);
jurzua
parents:
diff changeset
140 }
jurzua
parents:
diff changeset
141 }
jurzua
parents:
diff changeset
142
jurzua
parents:
diff changeset
143 public Reference getRef() {
jurzua
parents:
diff changeset
144 return ref;
jurzua
parents:
diff changeset
145 }
jurzua
parents:
diff changeset
146
jurzua
parents:
diff changeset
147 public void setRef(Reference ref) {
jurzua
parents:
diff changeset
148 this.ref = ref;
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150
jurzua
parents:
diff changeset
151 public Reference getOriginalRef() {
jurzua
parents:
diff changeset
152 return originalRef;
jurzua
parents:
diff changeset
153 }
jurzua
parents:
diff changeset
154
jurzua
parents:
diff changeset
155 public void setOriginalRef(Reference originalRef) {
jurzua
parents:
diff changeset
156 this.originalRef = originalRef;
jurzua
parents:
diff changeset
157 }
jurzua
parents:
diff changeset
158
jurzua
parents:
diff changeset
159 public List<SelectableObject<Reference>> getList() {
jurzua
parents:
diff changeset
160 return list;
jurzua
parents:
diff changeset
161 }
jurzua
parents:
diff changeset
162
jurzua
parents:
diff changeset
163 public void setList(List<SelectableObject<Reference>> list) {
jurzua
parents:
diff changeset
164 this.list = list;
jurzua
parents:
diff changeset
165 }
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167 public boolean getHasReferences(){
jurzua
parents:
diff changeset
168 if(this.list.isEmpty())
jurzua
parents:
diff changeset
169 return false;
jurzua
parents:
diff changeset
170 return true;
jurzua
parents:
diff changeset
171 }
jurzua
parents:
diff changeset
172 }