package org.zend.php.zendserver.deployment.debug.core.jobs;
import java.io.IOException;
import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.zend.php.zendserver.deployment.core.debugger.LibraryDeployData;
import org.zend.php.zendserver.deployment.core.utils.LibraryManager;
import org.zend.php.zendserver.deployment.debug.core.Activator;
import org.zend.php.zendserver.deployment.debug.core.Messages;
public class AddLibraryJob extends Job {
private LibraryDeployData data;
public AddLibraryJob(LibraryDeployData data) {
super(Messages.AddLibraryJob_Name);
this.data = data;
}
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
String taskName = MessageFormat.format(Messages.AddLibraryJob_TaskName, getData().getName(),
getData().getVersion());
monitor.beginTask(taskName, IProgressMonitor.UNKNOWN);
LibraryManager.addLibrary(data);
return Status.OK_STATUS;
} catch (IOException e) {
String message = MessageFormat.format(Messages.AddLibraryJob_CouldNotAddLibrary_Error, getData().getName(),
getData().getVersion());
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, message, e);
} finally {
monitor.done();
}
}
public LibraryDeployData getData() {
return data;
}
}