/**
* @version $Id: CoronaProjectWizard.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2011/08/01 13:28:20
* @author kousuke-morishima
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.ui.wizards;
import java.net.URI;
import java.net.URISyntaxException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import com.tida_okinawa.corona.ui.ViewUtil;
/**
* Corona Project 新規作成ウィザードクラス
*/
public class CoronaProjectWizard extends AbstractCoronaProjectWizard implements INewWizard {
private NewCoronaProjectCreationPage page = null;
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
setWindowTitle("新規Coronaプロジェクト");
}
@Override
public void addPages() {
page = new NewCoronaProjectCreationPage("corona project creation page");
addPage(page);
}
/**
* 完了アクション(プロジェクト作成)
* <p>
* NewCoronaProjectCreationPage で入力した名称でプロジェクトを作成する
*/
@Override
public boolean performFinish() {
String name = page.getProjectName();
IProgressMonitor monitor = new NullProgressMonitor();
try {
if (page.useDefaults()) {
createProject(name, null, monitor);
} else {
/* プロジェクト名をロケーションにくっつける */
URI url = page.getLocationURI();
try {
url = new URI(url.toString() + "/" + name);
} catch (URISyntaxException e) {
e.printStackTrace();
}
createProject(name, url, monitor);
}
ViewUtil.refreshDatabaseView(0);
return true;
} catch (CoreException e) {
e.printStackTrace();
MessageDialog.openError(getShell(), "Error", e.getLocalizedMessage());
return false;
}
}
}