/** * */ package org.korsakow.ide.ui.controller.dnd; import java.io.CharConversionException; import java.io.File; import java.util.List; import org.dsrg.soenea.domain.command.CommandException; import org.korsakow.ide.Application; import org.korsakow.ide.lang.LanguageBundle; import org.korsakow.ide.ui.controller.action.interf.ImportInterfaceAction; import org.korsakow.ide.ui.dnd.AggregateFileTransferHandler.FileTransferHandler; import org.korsakow.ide.util.FileUtil; import org.korsakow.ide.util.Util; class ResourceTreeKifTransferHandler implements FileTransferHandler { public boolean importData(List<File> files) { for ( File file : files ) if ( !ImportInterfaceAction.getDefaultExtension().equalsIgnoreCase( FileUtil.getFileExtension( file.getName() ) ) ) return false; try { for ( File file : files ) { new ImportInterfaceAction().doImport( file ); } return true; } catch (CommandException e) { Application app = Application.getInstance(); Throwable cause = Util.getRootCause(e); if (cause instanceof CharConversionException) app.showHandledErrorDialog(LanguageBundle.getString("general.errors.invalidinterfacefile.title"), LanguageBundle.getString("general.errors.invalidinterfacefile.message")); else app.showUnhandledErrorDialog("Error importing interface", e); return false; } } }