avoid NPE in check for dirty editors
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / dnd / CdmAuthorityTableDropTargetListener.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.dnd;
10
11 import org.eclipse.swt.dnd.DropTargetEvent;
12 import org.eclipse.swt.dnd.DropTargetListener;
13
14 import eu.etaxonomy.cdm.model.common.CdmBase;
15 import eu.etaxonomy.taxeditor.dnd.transfer.TaxonNodeTransfer;
16 import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityComposite;
17 import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityCompositeViewer;
18
19 /**
20 * Drop listener for the {@link CdmAuthorityComposite}.
21 *
22 * @author cmathew
23 * @created Mar 28, 2013
24 *
25 */
26 public class CdmAuthorityTableDropTargetListener implements DropTargetListener {
27
28 private CdmAuthorityCompositeViewer viewer;
29
30
31 public CdmAuthorityTableDropTargetListener(CdmAuthorityCompositeViewer viewer) {
32 this.viewer = viewer;
33 }
34 /* (non-Javadoc)
35 * @see org.eclipse.swt.dnd.DropTargetListener#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
36 */
37 @Override
38 public void dragEnter(DropTargetEvent event) {
39 }
40
41 /* (non-Javadoc)
42 * @see org.eclipse.swt.dnd.DropTargetListener#dragLeave(org.eclipse.swt.dnd.DropTargetEvent)
43 */
44 @Override
45 public void dragLeave(DropTargetEvent arg0) {
46 }
47
48 /* (non-Javadoc)
49 * @see org.eclipse.swt.dnd.DropTargetListener#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
50 */
51 @Override
52 public void dragOperationChanged(DropTargetEvent arg0) {
53 }
54
55 /* (non-Javadoc)
56 * @see org.eclipse.swt.dnd.DropTargetListener#dragOver(org.eclipse.swt.dnd.DropTargetEvent)
57 */
58 @Override
59 public void dragOver(DropTargetEvent arg0) {
60 }
61
62 /* (non-Javadoc)
63 * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
64 */
65 @Override
66 public void drop(DropTargetEvent dtevent) {
67 if(TaxonNodeTransfer.getInstance().isSupportedType(dtevent.currentDataType)) {
68 Object[] selectedCdmBases = (Object[])dtevent.data;
69
70 for (Object cdmBase : selectedCdmBases){
71 if(CdmBase.class.isAssignableFrom(cdmBase.getClass()) ) {
72 viewer.addCdmAuthority((CdmBase)cdmBase);
73 }
74 }
75 }
76 }
77
78 /* (non-Javadoc)
79 * @see org.eclipse.swt.dnd.DropTargetListener#dropAccept(org.eclipse.swt.dnd.DropTargetEvent)
80 */
81 @Override
82 public void dropAccept(DropTargetEvent arg0) {
83 }
84
85 }