Project

General

Profile

« Previous | Next » 

Revision 30846ae3

Added by Katja Luther about 7 years ago

ref #5691: minor

View differences:

eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
20 20
import org.eclipse.core.runtime.IProgressMonitor;
21 21
import org.eclipse.core.runtime.IStatus;
22 22
import org.eclipse.core.runtime.Status;
23
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
24
import org.eclipse.core.runtime.jobs.IJobChangeListener;
23 25
import org.eclipse.core.runtime.jobs.Job;
26
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
24 27
import org.eclipse.jface.action.MenuManager;
25 28
import org.eclipse.jface.viewers.CellEditor;
26 29
import org.eclipse.jface.viewers.ICellModifier;
......
192 195
			@Override
193 196
			protected IStatus run(IProgressMonitor monitor) {
194 197
				monitor.beginTask("Calculating referencing objects", 100);
195

  
198
				actualUuid = entityUUID;
199
				System.out.println("starting job... " + entityUUID);
196 200
				monitor.worked(5);
197 201
				referencingObjects = new ArrayList<>();
198 202
				if(monitor.isCanceled()) {
203
				    actualUuid = null;
199 204
                    return Status.CANCEL_STATUS;
200 205
                }
201 206
				if (actualMonitor != null){
202 207
				    actualMonitor.setCanceled(true);
203
				    updateView();
208

  
204 209
				}
205 210
				actualMonitor = monitor;
206 211
				if (entityUUID != null){
......
209 214
	                referencingObjectsSet = getReferencingObjects(entityUUID, objectClass);
210 215

  
211 216
	                if(monitor.isCanceled()) {
217
	                    actualUuid = null;
218
	                    System.err.println("Job is canceled" + entityUUID);
212 219
	                    return Status.CANCEL_STATUS;
213 220
	                }
214 221
	                monitor.worked(30);
215 222
	                referencingObjects = sortReferencing();
216 223
	                if (referencingObjects == null){
217 224
	                    if (monitor.isCanceled()){
225
	                        actualUuid = null;
226
	                        System.err.println("Job is canceled" + entityUUID);
218 227
	                        return Status.CANCEL_STATUS;
219 228
	                    }
220 229
	                }
221 230

  
222 231
	                if(monitor.isCanceled()) {
223

  
232
	                    if(previousCdmEntitySession != null) {
233
	                        previousCdmEntitySession.bind();
234
	                    }
235
	                    System.err.println("Job is canceled" + entityUUID);
224 236
	                    return Status.CANCEL_STATUS;
225 237
	                }
226 238
	                monitor.worked(80);
......
229 241
	                if(previousCdmEntitySession != null) {
230 242
	                    previousCdmEntitySession.bind();
231 243
	                }
232
	                actualUuid = entityUUID;
244
	               // actualUuid = entityUUID;
233 245
				}
234 246
				monitor.done();
235 247

  
236

  
248
				System.out.println("finishing job " + entityUUID);
237 249
				return Status.OK_STATUS;
238 250

  
239 251

  
240 252
			}
241 253
		};
242
		//job.setUser(true);
254
		job.setUser(true);
243 255

  
244 256
		job.schedule();
245
//		final IJobChangeListener listener;
246
//		listener =  new JobChangeAdapter() {
247
//            @Override
248
//            public void done(IJobChangeEvent event) {
249
//                System.err.println("Job is done");
250
//                event.getJob().cancel();
251
//            }
252
//
253
//        };
254
//        job.addJobChangeListener(listener);
257
		final IJobChangeListener listener;
258
		listener =  new JobChangeAdapter() {
259
            @Override
260
            public void done(IJobChangeEvent event) {
261
                System.err.println("Job is done" + entityUUID);
262
                //event.getJob().cancel();
263
            }
264

  
265
        };
266
        job.addJobChangeListener(listener);
255 267

  
256 268

  
257 269

  
......
399 411

  
400 412
        if(selection instanceof IStructuredSelection){
401 413
        	referencedObjectTitleCache = null;
402
            showViewer(part, (IStructuredSelection) selection);
414
        	showViewer(part, (IStructuredSelection) selection);
403 415
        }
404 416
	}
405 417

  
......
414 426
		}
415 427
		if(firstElement instanceof CdmBase){
416 428
		    CdmBase referencedCdmObject = (CdmBase) firstElement;
429
		    if (referencedCdmObject.getUuid() == actualUuid){
430
		        return;
431
		    }
417 432
		    if (referencedCdmObject != null){
418 433
                if(referencedCdmObject.isInstanceOf(IdentifiableEntity.class)){
419 434
                    referencedObjectTitleCache = (HibernateProxyHelper.deproxy(referencedCdmObject, IdentifiableEntity.class)).getTitleCache();
......
430 445
		    updateReferencingObjects(referencedCdmObject.getUuid(),firstElement.getClass() );
431 446

  
432 447
		}
433
		else{
448
		else if (firstElement != null){
434 449
		    updateView();
435 450
            setContentDescription("");
436 451
		}

Also available in: Unified diff