|
Lines 384-438
Link Here
|
| 384 |
_setList = new ArrayList(); |
384 |
_setList = new ArrayList(); |
| 385 |
busyCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT); |
385 |
busyCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT); |
| 386 |
|
386 |
|
| 387 |
setUseHashlookup(true); // new for our 2nd release. Attempt to fix 38 minutes to refresh for 15K elements |
387 |
// new for our 2nd release. Attempt to fix 38 minutes to refresh for 15K elements |
| 388 |
setComparer(new IElementComparer() |
388 |
setUseHashlookup(true); |
| 389 |
{ |
389 |
setComparer(new IElementComparer() { |
| 390 |
public boolean equals(Object a, Object b) |
390 |
/* (non-Javadoc) |
| 391 |
{ |
391 |
* @see org.eclipse.jface.viewers.IElementComparer#equals(java.lang.Object, java.lang.Object) |
| 392 |
if(a==b) return true; |
392 |
*/ |
| 393 |
if(a==null || b==null) return false; |
393 |
public boolean equals(Object a, Object b) { |
| 394 |
if(a.equals(b)) return true; |
394 |
if (a == b) return true; |
| 395 |
|
395 |
if (a == null || b == null) return false; |
| 396 |
ISystemViewElementAdapter identa= null; |
396 |
if (a.equals(b)) return true; |
| 397 |
if(a instanceof IAdaptable) { |
397 |
|
| 398 |
identa = (ISystemViewElementAdapter) |
398 |
ISystemViewElementAdapter identa = null; |
| 399 |
((IAdaptable)a).getAdapter(ISystemViewElementAdapter.class); |
399 |
if (a instanceof IAdaptable) { |
| 400 |
} |
400 |
identa = (ISystemViewElementAdapter)((IAdaptable)a).getAdapter(ISystemViewElementAdapter.class); |
| 401 |
if(identa != null) { |
401 |
} |
| 402 |
ISystemViewElementAdapter identb = null; |
402 |
if (identa != null) { |
| 403 |
if(b instanceof IAdaptable) { |
403 |
ISystemViewElementAdapter identb = null; |
| 404 |
identb = (ISystemViewElementAdapter) |
404 |
if (b instanceof IAdaptable) { |
| 405 |
((IAdaptable)b).getAdapter(ISystemViewElementAdapter.class); |
405 |
identb = (ISystemViewElementAdapter)((IAdaptable)b).getAdapter(ISystemViewElementAdapter.class); |
| 406 |
} |
406 |
} |
| 407 |
if (identb != null){ |
407 |
if (identb != null) { |
| 408 |
if(identa.getAbsoluteName(a).equals(identb.getAbsoluteName(b))) return true; |
408 |
if (identa.getAbsoluteName(a).equals(identb.getAbsoluteName(b))) |
| 409 |
} |
409 |
return true; |
| 410 |
} |
410 |
} |
| 411 |
|
411 |
} |
| 412 |
return false; |
412 |
|
| 413 |
} |
413 |
return false; |
| 414 |
|
414 |
} |
| 415 |
public int hashCode(Object element) |
415 |
|
| 416 |
{ |
416 |
/* (non-Javadoc) |
| 417 |
ISystemViewElementAdapter ident=null; |
417 |
* @see org.eclipse.jface.viewers.IElementComparer#hashCode(java.lang.Object) |
| 418 |
if(element instanceof IAdaptable) { |
418 |
*/ |
| 419 |
ident = (ISystemViewElementAdapter) |
419 |
public int hashCode(Object element) { |
| 420 |
((IAdaptable)element).getAdapter(ISystemViewElementAdapter.class); |
420 |
ISystemViewElementAdapter ident = null; |
| 421 |
if(ident!=null) { |
421 |
if (element instanceof IAdaptable) { |
| 422 |
String absName = ident.getAbsoluteName(element); |
422 |
ident = (ISystemViewElementAdapter)((IAdaptable)element).getAdapter(ISystemViewElementAdapter.class); |
| 423 |
if(absName!=null) return absName.hashCode(); |
423 |
if (ident != null) { |
| 424 |
return ident.hashCode(); |
424 |
String absName = ident.getAbsoluteName(element); |
| 425 |
} |
425 |
if (absName != null) { |
| 426 |
} |
426 |
//System.err.println("hashCode: " + absName.hashCode() + " [" + absName + " (" + element.toString() + ")]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ |
| 427 |
if (element != null) // adding check because I hit a null exception here once at startup |
427 |
return absName.hashCode(); |
| 428 |
return element.hashCode(); |
428 |
} |
| 429 |
else |
429 |
} |
| 430 |
{ |
430 |
} |
| 431 |
//System.out.println("null element"); |
431 |
|
| 432 |
return 0; |
432 |
// adding check because I hit a null exception here once at startup |
| 433 |
} |
433 |
if (element != null) { |
| 434 |
} |
434 |
//System.err.println("hashCode: " + element.hashCode() + " [" + element.getClass().getName() + " (" + element.toString() + ")]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ |
| 435 |
}); |
435 |
return element.hashCode(); |
|
|
436 |
} else { |
| 437 |
//System.err.println("hashCode: 0 [null element]"); //$NON-NLS-1$ |
| 438 |
return 0; |
| 439 |
} |
| 440 |
} |
| 441 |
}); |
| 436 |
|
442 |
|
| 437 |
|
443 |
|
| 438 |
// set content provider |
444 |
// set content provider |
|
Lines 3120-3126
Link Here
|
| 3120 |
while (i.hasNext()) { |
3126 |
while (i.hasNext()) { |
| 3121 |
Object element = i.next(); |
3127 |
Object element = i.next(); |
| 3122 |
if (parentElement == null) { |
3128 |
if (parentElement == null) { |
| 3123 |
parentItem = getParentItem((Item) findItem(element)); |
3129 |
Item item = (Item) findItem(element); |
|
|
3130 |
if (item == null) { |
| 3131 |
findItem(element); |
| 3132 |
} |
| 3133 |
parentItem = getParentItem(item); |
| 3124 |
if ((parentItem != null) && (parentItem instanceof Item)) parentElement = ((Item) parentItem).getData(); |
3134 |
if ((parentItem != null) && (parentItem instanceof Item)) parentElement = ((Item) parentItem).getData(); |
| 3125 |
} |
3135 |
} |
| 3126 |
if (getViewAdapter(element) != null) { |
3136 |
if (getViewAdapter(element) != null) { |