Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 182454 | Differences between
and this patch

Collapse All | Expand All

(-)UI/org/eclipse/rse/internal/ui/view/SystemView.java (-50 / +60 lines)
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) {

Return to bug 182454