package org.zend.php.zendserver.deployment.debug.core.jobs; import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.zend.php.zendserver.deployment.core.debugger.IDeploymentHelper; import org.zend.php.zendserver.deployment.core.sdk.EclipseMappingModelLoader; import org.zend.php.zendserver.deployment.core.sdk.SdkStatus; import org.zend.php.zendserver.deployment.core.sdk.StatusChangeListener; import org.zend.php.zendserver.deployment.debug.core.Messages; import org.zend.sdklib.application.ZendApplication; import org.zend.webapi.core.connection.data.ApplicationInfo; import org.zend.webapi.core.connection.data.ApplicationsList; public class ExisitngAppIdJob extends AbstractLaunchJob { public ExisitngAppIdJob(IDeploymentHelper helper, IProject project) { super(Messages.ExisitngAppIdJob_JobTitle, helper, project.getLocation() .toString()); } public ExisitngAppIdJob(IDeploymentHelper helper, String projectPath) { super(Messages.ExisitngAppIdJob_JobTitle, helper, projectPath); } @Override protected IStatus run(IProgressMonitor monitor) { StatusChangeListener listener = new StatusChangeListener(monitor); ZendApplication app = new ZendApplication(new EclipseMappingModelLoader()); app.addStatusChangeListener(listener); ApplicationsList list = app.getStatus(helper.getTargetId()); List<ApplicationInfo> infos = list.getApplicationsInfo(); if (infos != null) { for (ApplicationInfo info : infos) { String appName = info.getAppName(); if (helper.getAppName().equals(appName)) { helper.setAppId(info.getId()); helper.setInstalledLocation(info .getInstalledLocation()); return new SdkStatus(listener.getStatus()); } } } return Status.OK_STATUS; } }