1 package net.sourceforge.phpeclipse.xdebug.php.launching;
4 import org.eclipse.core.resources.IProject;
5 import org.eclipse.core.resources.ResourcesPlugin;
6 import org.eclipse.core.runtime.CoreException;
7 import org.eclipse.core.runtime.IProgressMonitor;
8 import org.eclipse.debug.core.ILaunchConfiguration;
9 import org.eclipse.debug.core.sourcelookup.ISourceContainer;
10 import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
11 import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
12 import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
14 public class PHPSourcePathComputerDelegate implements ISourcePathComputerDelegate {
16 public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
17 String project = configuration.getAttribute(IXDebugConstants.ATTR_PHP_PROJECT, (String)null);
18 ISourceContainer sourceContainer = null;
19 if (project != null) {
20 IProject resource = ResourcesPlugin.getWorkspace().getRoot().getProject(project);
21 if (resource != null) {
22 sourceContainer = new ProjectSourceContainer(resource, true);
25 if (sourceContainer == null) {
26 sourceContainer = new WorkspaceSourceContainer();
28 return new ISourceContainer[]{sourceContainer};