/*
* Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christian W. Damus (CEA LIST) - initial API and implementation
*/
package org.eclipse.emf.cdo.ui.internal.admin.wizards;
import org.eclipse.emf.cdo.ui.internal.admin.StoreType;
import org.eclipse.emf.cdo.ui.internal.admin.bundle.OM;
import org.eclipse.emf.cdo.ui.internal.admin.messages.Messages;
import org.eclipse.emf.cdo.ui.internal.admin.wizards.AbstractCreateRepositoryWizardPage.Whiteboard;
import org.eclipse.jface.wizard.Wizard;
import java.util.Map;
/**
* @author Christian W. Damus (CEA LIST)
*/
public class CreateRepositoryWizard extends Wizard
{
private CreateRepositoryGeneralPage generalPage;
private CreateRepositoryStorePage storePage;
private String repositoryName;
private Map<String, Object> repositoryProperties;
public CreateRepositoryWizard()
{
setWindowTitle(Messages.CreateRepositoryWizard_0);
setDefaultPageImageDescriptor(OM.getImageDescriptor("icons/full/wizban/new_repo.png")); //$NON-NLS-1$
setDialogSettings(OM.Activator.INSTANCE.getDialogSettings(getClass()));
setHelpAvailable(false);
}
@Override
public void addPages()
{
super.addPages();
final Whiteboard whiteboard = new Whiteboard();
generalPage = new CreateRepositoryGeneralPage("general", StoreType.getInstances()); //$NON-NLS-1$
generalPage.bind(whiteboard);
addPage(generalPage);
storePage = new CreateRepositoryStorePage("store"); //$NON-NLS-1$
storePage.bind(whiteboard);
addPage(storePage);
}
@Override
public boolean performFinish()
{
Map<String, Object> repositoryProperties = new java.util.HashMap<String, Object>();
boolean result = generalPage.performFinish(repositoryProperties);
result = result && storePage.performFinish(repositoryProperties);
if (result)
{
repositoryName = (String)repositoryProperties.remove(CreateRepositoryGeneralPage.PROPERTY_NAME);
this.repositoryProperties = repositoryProperties;
}
return result;
}
public String getRepositoryName()
{
return repositoryName;
}
public Map<String, Object> getRepositoryProperties()
{
return repositoryProperties;
}
}