Revision 012d4a65
Added by Patrick Plitzner over 5 years ago
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java | ||
---|---|---|
19 | 19 |
import java.util.UUID; |
20 | 20 |
|
21 | 21 |
import org.eclipse.core.runtime.ICoreRunnable; |
22 |
import org.eclipse.core.runtime.jobs.IJobChangeEvent; |
|
23 | 22 |
import org.eclipse.core.runtime.jobs.Job; |
24 |
import org.eclipse.core.runtime.jobs.JobChangeAdapter; |
|
25 | 23 |
import org.eclipse.jface.viewers.IStructuredSelection; |
26 | 24 |
|
27 | 25 |
import ca.odell.glazedlists.BasicEventList; |
... | ... | |
76 | 74 |
|
77 | 75 |
private Job searchJob; |
78 | 76 |
|
79 |
private volatile boolean hasSearchFinished; |
|
80 |
|
|
81 | 77 |
public AbstractBulkEditorInput() { |
82 | 78 |
super(true); |
83 | 79 |
this.conversation = CdmStore.createConversation(); |
... | ... | |
161 | 157 |
//cancel previous search job |
162 | 158 |
if(searchJob!=null && searchJob.getState()!=Job.NONE){ |
163 | 159 |
searchJob.cancel(); |
164 |
while(!hasSearchFinished){ |
|
165 |
//wait for search to finish |
|
166 |
try { |
|
167 |
Thread.sleep(100); |
|
168 |
} catch (InterruptedException e) { |
|
169 |
e.printStackTrace(); |
|
170 |
} |
|
171 |
} |
|
172 | 160 |
searchJob = null; |
173 | 161 |
} |
174 | 162 |
model.clear(); |
... | ... | |
207 | 195 |
if (monitor.isCanceled()) { |
208 | 196 |
break; |
209 | 197 |
} |
210 |
|
|
211 | 198 |
configurator.setPageNumber(pageNumber); |
212 | 199 |
entities = listEntities(configurator); |
213 | 200 |
model.addAll(entities); |
... | ... | |
224 | 211 |
monitor.done(); |
225 | 212 |
EventUtility.postAsyncEvent(WorkbenchEventConstants.BULK_EDITOR_SEARCH_FINISHED, selection); |
226 | 213 |
}); |
227 |
searchJob.addJobChangeListener(new JobChangeAdapter(){ |
|
228 |
@Override |
|
229 |
public void done(IJobChangeEvent event) { |
|
230 |
hasSearchFinished = true; |
|
231 |
} |
|
232 |
}); |
|
233 |
hasSearchFinished = false; |
|
234 | 214 |
searchJob.schedule(); |
235 | 215 |
} |
236 | 216 |
} |
Also available in: Unified diff
Revert "ref #6321 Wait for canceled search to finish before starting new search"
This reverts commit 36ee2736a960471161a354379845f770027286c4.