/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.motorolamobility.studio.android.db.core.ui.wizards;
import java.util.Set;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.wizard.Wizard;
import com.motorolamobility.studio.android.db.core.DbCoreActivator;
import com.motorolamobility.studio.android.db.core.i18n.DbCoreNLS;
import com.motorolamobility.studio.android.db.core.model.TableModel;
/**
* Class that represents the Create Table Wizard
*/
public class CreateTableWizard extends Wizard
{
private TableModel table = null;
private CreateTableWizardPage tableWizardPage = null;
private Set<String> notAllowedNames = null;
private static final String WIZARD_BANNER = "icons/wizban/create_table.png"; //$NON-NLS-1$
public CreateTableWizard()
{
setWindowTitle(DbCoreNLS.CreateTableWizardPage_UI_PageTitle);
setDefaultPageImageDescriptor(DbCoreActivator.imageDescriptorFromPlugin(
DbCoreActivator.PLUGIN_ID, WIZARD_BANNER));
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish()
{
table = tableWizardPage.getTable();
boolean isOK = true;
if ((notAllowedNames != null)
&& notAllowedNames.contains(tableWizardPage.getTable().getName().toUpperCase()))
{
MessageDialog.openError(getShell(),
DbCoreNLS.CreateTableWizard_UI_Message_ErrorCreatingTable,
DbCoreNLS.ERR_CreateDatabaseWizardPage_TableAlreadyExistTitle);
isOK = false;
}
return isOK;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#addPages()
*/
@Override
public void addPages()
{
tableWizardPage = new CreateTableWizardPage();
addPage(tableWizardPage);
if (table != null)
{
tableWizardPage.setTable(table);
}
}
/**
* Used when the user wants to retrieve a table object and not create the table itself
* @param table
*/
public void init(TableModel table)
{
this.table = table;
}
/**
* @return the table
*/
public TableModel getTable()
{
return table;
}
public void setNotAllowedNames(Set<String> notAllowedNames)
{
this.notAllowedNames = notAllowedNames;
}
}