Project

General

Profile

« Previous | Next » 

Revision 84527493

Added by Andreas Müller about 4 years ago

cleanup

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java
63 63
 * @created 04.06.2009
64 64
 */
65 65
public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmBase> extends
66
		SearchDialog {//implements IConversationEnabled {
66
		SearchDialog<T> {//implements IConversationEnabled {
67 67

  
68 68
//	private final ConversationHolder conversation = null;
69 69

  
......
115 115
		return createListLabelProvider();
116 116
	}
117 117

  
118
	/**
119
	 *
120
	 * @return
121
	 */
122 118
	protected ILabelProvider createListLabelProvider() {
123 119
		return new FilteredCdmResourceLabelProvider();
124 120
	}
......
127 123
	 * Override in subclasses.
128 124
	 * Will run before initModel()
129 125
	 */
130
	protected void init() {
131

  
132
	}
126
	protected void init() {}
133 127

  
134 128
	/**
135 129
	 * <p>getSelectionFromDialog</p>
......
139 133
	 * @return a TYPE object.
140 134
	 */
141 135
	protected static <TYPE extends CdmBase> TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog<TYPE> dialog) {
142
	    UuidAndTitleCache result = getUuidAndTitleCacheSelectionFromDialog(dialog);
136
	    UuidAndTitleCache<?> result = getUuidAndTitleCacheSelectionFromDialog(dialog);
143 137
	    if (result != null){
144 138
	        return dialog.getCdmObjectByUuid(result.getUuid());
145 139
	    } else {
......
193 187
	 */
194 188
	abstract protected T getPersistentObject(UUID uuid);
195 189

  
196

  
197 190
	/**
198 191
	 * <p>isObjectTransient</p>
199 192
	 *
......
224 217
				" Please implement specific method in subclass.");
225 218
	}
226 219

  
227

  
228

  
229 220
	/**
230 221
	 * Set the filter input to the Agent's title cache
231 222
	 *
......
236 227
		getSearchField().setText(pattern);
237 228
	}
238 229

  
239

  
240

  
241
	/* (non-Javadoc)
242
	* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
243
	*/
244
	/** {@inheritDoc} */
245

  
246 230
	@Override
247 231
    protected void fillContentProvider(IProgressMonitor progressMonitor)
248 232
		 {
......
285 269
		}
286 270
	}
287 271

  
288

  
289 272
    protected void sort() {
290 273
        Collections.sort(model, getItemsComparator());
291 274
    }
292 275

  
293
    /* (non-Javadoc)
294
	 * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getDialogSettings()
295
	 */
296
	/** {@inheritDoc} */
297

  
298 276
	protected IDialogSettings getDialogSettings() {
299 277
		IDialogSettings settings = TaxeditorStorePlugin.getDefault().getDialogSettings().getSection(getSettings());
300 278

  
......
304 282
		return settings;
305 283
	}
306 284

  
307
	/* (non-Javadoc)
308
	 * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getElementName(java.lang.Object)
309
	 */
310
	/** {@inheritDoc} */
311

  
312 285
	public String getElementName(Object item) {
313
		return ((UuidAndTitleCache) item).getTitleCache();
286
		return ((UuidAndTitleCache<T>) item).getTitleCache();
314 287
	}
315 288

  
316
	/* (non-Javadoc)
317
	 * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getItemsComparator()
318
	 */
319
	/** {@inheritDoc} */
320

  
321 289
	@Override
322
    protected Comparator getItemsComparator() {
323
		return new Comparator<UuidAndTitleCache>() {
290
    protected Comparator<UuidAndTitleCache<T>> getItemsComparator() {
291
		return new Comparator<UuidAndTitleCache<T>>() {
324 292
			@Override
325
			public int compare(UuidAndTitleCache entity1,
326
					UuidAndTitleCache entity2) {
293
			public int compare(UuidAndTitleCache<T> entity1,
294
					UuidAndTitleCache<T> entity2) {
327 295
				Collator collator = Collator.getInstance();
328 296
				if (entity1 == entity2){
329 297
				    return 0;
......
353 321
		};
354 322
	}
355 323

  
356

  
357 324
	/**
358 325
	 * <p>getSelectedUuidAndTitleCache</p>
359 326
	 *
360 327
	 * @return a {@link eu.etaxonomy.cdm.model.common.UuidAndTitleCache} object.
361 328
	 */
362
	protected UuidAndTitleCache getSelectedUuidAndTitleCache() {
329
	protected UuidAndTitleCache<T> getSelectedUuidAndTitleCache() {
363 330
		Object result = getResult();
364 331
		if (result instanceof UuidAndTitleCache){
365
		    return (UuidAndTitleCache) result;
332
		    return (UuidAndTitleCache<T>) result;
366 333
		}
367 334
		return null;
368 335
	}
369 336

  
370
	/**
371
     * @return
372
     */
373 337
    private Object getResult() {
374 338
        StructuredSelection selection = getCurrentSelection();
375 339
        if (selection == null){
......
390 354
		return settings;
391 355
	}
392 356

  
393

  
394

  
395 357
	/**
396 358
	 * <p>getNewWizardLinkText</p>
397 359
	 *
......
404 366
	 * @param parameter
405 367
	 * @return a {@link eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard} object.
406 368
	 */
407
	protected abstract AbstractNewEntityWizard getNewEntityWizard(String parameter);
369
	protected abstract AbstractNewEntityWizard<T> getNewEntityWizard(String parameter);
408 370

  
409 371
	public class FilteredCdmResourceLabelProvider extends LabelProvider {
410 372
		@Override
......
412 374
			if (element == null) {
413 375
				return null;
414 376
			}
415
			UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache) element;
377
			UuidAndTitleCache<?> uuidAndTitleCache = (UuidAndTitleCache<?>) element;
416 378
			String titleCache = uuidAndTitleCache.getTitleCache();
417 379
			if(PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSelectionDialog.getKey())){
418 380
			    titleCache += " ["+uuidAndTitleCache.getId()+"]";
......
423 385

  
424 386
            return titleCache;
425 387
		}
426
	};
427

  
428
	/* (non-Javadoc)
429
	* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)
430
	*/
431
	/** {@inheritDoc} */
388
	}
432 389

  
433 390
//	@Override
434 391
//    protected Control createExtendedContentArea(Composite parent) {
......
450 407
	        this.newButton1 = createButton(parent, this.new_id, newButtonText[0], false);
451 408
	        newButton1.addSelectionListener(getNewWizardButtonSelectionListener());
452 409

  
453

  
454 410
	        if (newButtonText.length > 1){
455 411
	            newButton2 = createButton(parent, this.new_id2, newButtonText[1], false);
456 412
	            newButton2.addSelectionListener(getNewWizardButtonSelectionListener());
457

  
458 413
	        }
459

  
460 414
	    }
461 415
	    Button space = createButton(parent, this.space_id, " ", false);
462 416
	    space.setEnabled(false);
......
489 443
			        Button sourceButton = (Button) source;
490 444
			        text = sourceButton.getText();
491 445
			    }
492
			    AbstractNewEntityWizard wizard = getNewEntityWizard(text);
493
			    if(wizard!=null){
446
			    AbstractNewEntityWizard<?> wizard = getNewEntityWizard(text);
447
			    if(wizard != null){
494 448
			        if (wizard.getEntity() == null){
495 449
			            wizard.init(null, null);
496 450
			        }
......
541 495
	private void filterExcludedObjects() {
542 496
		if (model != null && cdmBaseToBeFiltered != null) {
543 497

  
544
			UuidAndTitleCache uuidAndTitleCacheToRemove = null;
498
			UuidAndTitleCache<?> uuidAndTitleCacheToRemove = null;
545 499

  
546
			for (UuidAndTitleCache uuidAndTitleCache : model){
500
			for (UuidAndTitleCache<?> uuidAndTitleCache : model){
547 501
				if (cdmBaseToBeFiltered != null && cdmBaseToBeFiltered.contains(uuidAndTitleCache.getUuid())) {
548 502
					uuidAndTitleCacheToRemove = uuidAndTitleCache;
549 503
				}
......
556 510
	    //as default no filter button available
557 511
	}
558 512

  
559
	/** {@inheritDoc} */
560 513
    @Override
561 514
    protected void search() {
562 515
        Control control =getSearchField();

Also available in: Unified diff