/******************************************************************************* * 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 *******************************************************************************/ package org.zend.php.zendserver.deployment.debug.ui.actions; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.php.internal.server.core.Server; import org.zend.php.server.ui.actions.IActionContribution; import org.zend.php.zendserver.deployment.core.targets.TargetsManagerService; import org.zend.php.zendserver.deployment.debug.ui.Activator; import org.zend.php.zendserver.deployment.debug.ui.Messages; import org.zend.php.zendserver.deployment.debug.ui.wizards.LibraryDeploymentUtils; import org.zend.sdklib.manager.TargetsManager; import org.zend.sdklib.target.IZendTarget; import org.zend.webapi.core.connection.data.values.ZendServerVersion; /** * Contribution to the action which is responsible for opening PHP library * deployment wizard. * * @author Wojciech Galanciak, 2014 * */ @SuppressWarnings("restriction") public class DeployLibraryAction implements IActionContribution { private Server server; public DeployLibraryAction() { } @Override public String getLabel() { return Messages.DeployLibraryAction_Label; } @Override public ImageDescriptor getIcon() { return Activator.getImageDescriptor(Activator.IMAGE_DEPLOY_LIBRARY); } @Override public void run() { LibraryDeploymentUtils util = new LibraryDeploymentUtils(); util.openLibraryDeploymentWizard(getTarget(server)); } @Override public void setServer(Server server) { this.server = server; } @Override public boolean isAvailable(Server server) { IZendTarget target = getTarget(server); return target != null && TargetsManager.checkMinVersion(target, ZendServerVersion.byName("6.1.0")); //$NON-NLS-1$ } private IZendTarget getTarget(Server server) { if (server != null) { TargetsManager manager = TargetsManagerService.INSTANCE .getTargetManager(); if (server != null) { String serverName = server.getName(); IZendTarget[] targets = manager.getTargets(); for (IZendTarget target : targets) { if (serverName.equals(target.getServerName())) { return target; } } } } return null; } }