blob: 12c0e487faa9c97d91c6886c6e5e17595b15f9ff [file] [log] [blame]
/*
* 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.certmanager.ui.wizards;
import org.eclipse.core.runtime.jobs.IJobChangeListener;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import com.motorolamobility.studio.android.certmanager.CertificateManagerActivator;
import com.motorolamobility.studio.android.certmanager.i18n.CertificateManagerNLS;
import com.motorolamobility.studio.android.certmanager.ui.model.KeyStoreNode;
/**
*
*/
public class CreateKeystoreWizard extends Wizard
{
private final CreateKeystorePage createKeystorePage;
private final CreateKeyWizardPage createKeyPairPage;
private static final String WIZARD_BANNER = "icons/wizban/create_keystore_wiz.png"; //$NON-NLS-1$
private static final String KEYSTORE_KEY_HELP_ID = CertificateManagerActivator.PLUGIN_ID
+ ".keystore-key-help-id";
private KeyStoreNode createdKeystoreNode;
/**
*
*/
public CreateKeystoreWizard()
{
this(null);
}
public CreateKeystoreWizard(IJobChangeListener createKeystoreJobListener)
{
setWindowTitle(CertificateManagerNLS.CreateKeystoreWizard_CreateNewKeyStore);
setDefaultPageImageDescriptor(CertificateManagerActivator.imageDescriptorFromPlugin(
CertificateManagerActivator.PLUGIN_ID, WIZARD_BANNER));
this.createKeyPairPage = new CreateKeyWizardPage(null, "", createKeystoreJobListener);
this.createKeystorePage =
new CreateKeystorePage(CertificateManagerNLS.CreateKeystoreWizard_CreateNewKeyStore);
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#createPageControls(org.eclipse.swt.widgets.Composite)
*/
@Override
public void createPageControls(Composite pageContainer)
{
super.createPageControls(pageContainer);
//the shell has a generic help that talks about keystore and keys
PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), KEYSTORE_KEY_HELP_ID);
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish()
{
createdKeystoreNode = createKeystorePage.createKeyStore();
if (createdKeystoreNode != null)
{
createKeyPairPage.setKeyStore(createdKeystoreNode);
createKeyPairPage.setKeyStorePass(createKeystorePage.getPassword());
createKeyPairPage.createKey();
}
//check if the keystore was created
return (createdKeystoreNode != null);
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#addPages()
*/
@Override
public void addPages()
{
this.addPage(createKeystorePage);
this.addPage(createKeyPairPage);
}
/**
* @return the createdKeystoreNode
*/
public KeyStoreNode getCreatedKeystoreNode()
{
return createdKeystoreNode;
}
public String getCreatedKeystorePassword()
{
String result = null;
if (createKeystorePage != null)
{
result = createKeystorePage.getPassword();
}
return result;
}
}