/**
*
*/
package org.korsakow.ide.ui.controller.dnd;
import java.io.File;
import java.util.List;
import org.dsrg.soenea.domain.MapperException;
import org.korsakow.ide.Application;
import org.korsakow.ide.lang.LanguageBundle;
import org.korsakow.ide.ui.controller.action.ExitAction;
import org.korsakow.ide.ui.controller.action.OpenProjectFileAction;
import org.korsakow.ide.ui.dnd.AggregateFileTransferHandler.FileTransferHandler;
import org.korsakow.ide.util.FileUtil;
class ResourceTreeProjectTransferHandler implements FileTransferHandler
{
public boolean importData(List<File> files)
{
if ( files.size() != 1 )
return false;
if ( !OpenProjectFileAction.getDefaultExtension().equalsIgnoreCase( FileUtil.getFileExtension( files.get(0).getName() ) ) )
return false;
File projectFile = null;
for (File file : files) {
String ext = FileUtil.getFileExtension(file.getName());
if (OpenProjectFileAction.getDefaultExtension().equalsIgnoreCase(ext)) {
projectFile = file;
break;
}
}
if (projectFile == null)
return false;
try {
if (!ExitAction.checkForChangesAndPrompt())
return false;
} catch (MapperException e) {
Application.getInstance().showUnhandledErrorDialog(e);
return false;
}
try {
OpenProjectFileAction.performAction(projectFile);
} catch (Throwable e) {
Application.getInstance().showUnhandledErrorDialog(LanguageBundle.getString("general.errors.cantopen.title"), e);
return false;
}
return true;
}
}