Revision bce766a1
Added by Patrick Plitzner over 6 years ago
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java | ||
---|---|---|
9 | 9 |
|
10 | 10 |
package eu.etaxonomy.taxeditor.bulkeditor.e4; |
11 | 11 |
|
12 |
import java.util.ArrayList; |
|
13 | 12 |
import java.util.List; |
14 | 13 |
|
15 | 14 |
import javax.annotation.PostConstruct; |
... | ... | |
112 | 111 |
bottomComposite.setLayout(new FillLayout()); |
113 | 112 |
viewer = new TableViewer(bottomComposite); |
114 | 113 |
viewer.setContentProvider(new ArrayContentProvider()); |
115 |
viewer.setLabelProvider(new BulkEditorLabelProvider()); |
|
114 |
viewer.setLabelProvider(new BulkEditorLabelProvider(this));
|
|
116 | 115 |
|
117 | 116 |
|
118 | 117 |
//propagate selection |
... | ... | |
126 | 125 |
|
127 | 126 |
@Persist |
128 | 127 |
public void save() { |
128 |
//FIXME E4 do the potential merging of groups |
|
129 |
|
|
129 | 130 |
// commit the conversation and start a new transaction immediately |
130 | 131 |
conversation.commit(true); |
131 | 132 |
|
132 | 133 |
Object object = viewer.getInput(); |
133 | 134 |
if(object instanceof List){ |
134 | 135 |
for (Object item: (List)object) { |
135 |
if(item instanceof AnnotatedTableItem){ |
|
136 |
CdmBase cdmBase = ((AnnotatedTableItem) item).getElement(); |
|
137 |
CdmStore.getService(cdmBase).merge(cdmBase, true); |
|
138 |
} |
|
139 |
|
|
136 |
CdmBase cdmBase = (CdmBase) item; |
|
137 |
CdmStore.getService(cdmBase).merge(cdmBase, true); |
|
140 | 138 |
} |
141 | 139 |
} |
142 | 140 |
dirty.setDirty(false); |
... | ... | |
160 | 158 |
|
161 | 159 |
getEditorInput().performSearch(query); |
162 | 160 |
|
163 |
viewer.setInput(getEditorInput().getWrappedModel());
|
|
161 |
viewer.setInput(getEditorInput().getModel()); |
|
164 | 162 |
refresh(); |
165 | 163 |
} |
166 | 164 |
} |
... | ... | |
171 | 169 |
|
172 | 170 |
public void refresh(boolean resetInput) { |
173 | 171 |
if(resetInput){ |
174 |
viewer.setInput(getEditorInput().getWrappedModel());
|
|
172 |
viewer.setInput(getEditorInput().getModel()); |
|
175 | 173 |
} |
176 | 174 |
viewer.refresh(); |
177 | 175 |
} |
... | ... | |
192 | 190 |
return input; |
193 | 191 |
} |
194 | 192 |
|
195 |
public List<AnnotatedTableItem> getMergeCandidates(){ |
|
196 |
List<AnnotatedTableItem> mergeCandidates = new ArrayList<>(); |
|
197 |
for(AnnotatedTableItem item: (List<AnnotatedTableItem>)viewer.getInput()){ |
|
198 |
if(item.isMergeCandidate()){ |
|
199 |
mergeCandidates.add(item); |
|
200 |
} |
|
201 |
} |
|
202 |
return mergeCandidates; |
|
203 |
} |
|
204 |
|
|
205 |
public AnnotatedTableItem getMergeTarget(){ |
|
206 |
for(AnnotatedTableItem item: (List<AnnotatedTableItem>)viewer.getInput()){ |
|
207 |
if(item.isMergeTarget()){ |
|
208 |
return item; |
|
209 |
} |
|
210 |
} |
|
211 |
return null; |
|
212 |
} |
|
213 |
|
|
214 | 193 |
public void removeAllAnnotations(){ |
215 |
for(AnnotatedTableItem item: (List<AnnotatedTableItem>)viewer.getInput()){ |
|
216 |
item.setMergeCandidate(false); |
|
217 |
item.setMergeTarget(false); |
|
218 |
} |
|
194 |
input.removeMergeTarget(); |
|
195 |
input.removeMergeCandidates(); |
|
219 | 196 |
} |
220 | 197 |
|
221 | 198 |
/** |
Also available in: Unified diff
ref #6932 Refactor merge annotating