@Override public boolean importData(JComponent comp, Transferable transferable) { boolean result = false; if (comp instanceof JTable) { final JTable tbl = (JTable) comp; try { final int iSelectedRow = tbl.getSelectedRow(); if (iSelectedRow != -1) { final TimelimitTaskTableModel tblmdl = TimelimitTaskController.this.timelimittaskview.getTimelimitTaskTableModel(); final CollectableTimelimitTask clctTarget = tblmdl.getCollectable(iSelectedRow); final TimelimitTaskVO taskvoTarget = clctTarget.getTimelimitTaskVO(); final GenericObjectIdModuleProcess goimp = (GenericObjectIdModuleProcess) transferable.getTransferData(new GenericObjectIdModuleProcess.DataFlavor()); if (taskvoTarget.getCompleted() != null) { final String sMessage = getSpringLocaleDelegate() .getMessage( "TimelimitTaskController.5", "Dieser Eintrag ist bereits abgeschlossen. Er kann nicht mehr ver\u00e4ndert werden."); throw new NuclosBusinessException(sMessage); } boolean bDoIt = (taskvoTarget.getGenericObjectId() == null); if (!bDoIt) { final String sQuestion = getSpringLocaleDelegate() .getMessage( "TimelimitTaskController.13", "Soll das Objekt \"{0}\" zugeordnet werden?", goimp.getGenericObjectIdentifier()) + "\n" + getSpringLocaleDelegate() .getMessage( "TimelimitTaskController.3", "Die bestehende Zuordnung zu \"{0}\" wird dadurch aufgehoben.", taskvoTarget.getIdentifier()); final int iBtn = JOptionPane.showConfirmDialog( this.parent, sQuestion, getSpringLocaleDelegate() .getMessage( "TimelimitTaskController.17", "Zugeordnetes Objekt \u00e4ndern"), JOptionPane.OK_CANCEL_OPTION); bDoIt = (iBtn == JOptionPane.OK_OPTION); } if (bDoIt) { taskvoTarget.setGenericObjectId(new Integer(goimp.getGenericObjectId())); final TimelimitTaskVO taskvoUpdated = tltaskDelegate.update(taskvoTarget); tblmdl.setCollectable(iSelectedRow, new CollectableTimelimitTask(taskvoUpdated)); result = true; } } } catch (UnsupportedFlavorException ex) { JOptionPane.showMessageDialog( parent, getSpringLocaleDelegate() .getMessage( "TimelimitTaskController.4", "Dieser Datentransfer wird von dem ausgew\u00e4hlten Objekt nicht unterst\u00fctzt.")); } catch (IOException ex) { throw new NuclosFatalException(ex); } catch (CommonBusinessException ex) { Errors.getInstance().showExceptionDialog(parent, ex); } } return result; }