/******************************************************************************* * Copyright (c) 2014 Zend Technologies Ltd. * 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: * Zend Technologies Ltd. - initial API and implementation *******************************************************************************/ package org.zend.php.server.internal.ui.actions; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.php.internal.server.core.Server; import org.eclipse.php.internal.server.core.manager.ServersManager; import org.eclipse.php.internal.server.ui.ServerWizard; import org.eclipse.php.internal.ui.wizards.WizardModel; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; import org.zend.php.server.internal.ui.Messages; import org.zend.php.server.ui.ServersUI; /** * @author Wojciech Galanciak, 2014 * */ @SuppressWarnings("restriction") public class AddServerAction extends AbstractServerAction { public AddServerAction() { super(Messages.AddServerAction_AddLabel, ServersUI .getImageDescriptor(ServersUI.ADD_ICON)); } @Override public void run() { Server toAdd = getServerFromWizard(); if (toAdd != null) { ServersManager.addServer(toAdd); ServersManager.save(); } } protected Server getServerFromWizard() { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getShell(); Server server = null; ServerWizard wizard = new ServerWizard(); WizardDialog dialog = new WizardDialog(shell, wizard); if (dialog.open() == Window.CANCEL) { return null; } server = (Server) wizard.getRootFragment().getWizardModel() .getObject(WizardModel.SERVER); return server; } }