X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/InterpreterRunnerConfiguration.java b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/InterpreterRunnerConfiguration.java index b2950d7..12e7d2e 100644 --- a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/InterpreterRunnerConfiguration.java +++ b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/InterpreterRunnerConfiguration.java @@ -10,164 +10,224 @@ import java.util.Map; import net.sourceforge.phpdt.internal.core.JavaProject; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.internal.ui.launchConfigurations.EnvironmentVariable; - public class InterpreterRunnerConfiguration { protected ILaunchConfiguration configuration; + private HashMap fEnvironment; public InterpreterRunnerConfiguration(ILaunchConfiguration aConfiguration) { configuration = aConfiguration; - fEnvironment= new HashMap(); + fEnvironment = new HashMap(); } - + public String getAbsoluteFileName() { IPath path = new Path(getFileName()); IProject project = getProject().getProject(); - return project.getLocation().toOSString() + "/" + getFileName(); + //return project.getLocation().toOSString() + "/" + getFileName(); + IResource file = project.findMember(path); + return file.getProjectRelativePath().toOSString(); } - + public String getFileName() { String fileName = ""; try { - fileName = configuration.getAttribute(PHPLaunchConfigurationAttribute.FILE_NAME, "No file specified in configuration"); - } catch(CoreException e) {} - + fileName = configuration.getAttribute( + PHPLaunchConfigurationAttribute.FILE_NAME, + "No file specified in configuration"); + } catch (CoreException e) { + } + return fileName.replace('\\', '/'); - } - + } + public JavaProject getProject() { String projectName = ""; - + try { - projectName = configuration.getAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, ""); - } catch(CoreException e) { + projectName = configuration.getAttribute( + PHPLaunchConfigurationAttribute.PROJECT_NAME, ""); + } catch (CoreException e) { PHPLaunchingPlugin.log(e); } - IProject project = PHPLaunchingPlugin.getWorkspace().getRoot().getProject(projectName); + IProject project = PHPLaunchingPlugin.getWorkspace().getRoot() + .getProject(projectName); JavaProject phpProject = new JavaProject(); phpProject.setProject(project); return phpProject; } - + public File getAbsoluteWorkingDirectory() { String file = null; try { - file = configuration.getAttribute(PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); - } catch(CoreException e) { + file = configuration.getAttribute( + PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); + } catch (CoreException e) { PHPLaunchingPlugin.log(e); } return new File(file); } - + public String getInterpreterArguments() { try { - return configuration.getAttribute(PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, ""); - } catch(CoreException e) {} - + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, ""); + } catch (CoreException e) { + } + return ""; } - + public String getProgramArguments() { try { - return configuration.getAttribute(PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, ""); - } catch (CoreException e) {} - + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, ""); + } catch (CoreException e) { + } + return ""; } public PHPInterpreter getInterpreter() { String selectedInterpreter = null; try { - selectedInterpreter = configuration.getAttribute(PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, ""); - } catch(CoreException e) {} + selectedInterpreter = configuration.getAttribute( + PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, ""); + } catch (CoreException e) { + } return PHPRuntime.getDefault().getInterpreter(selectedInterpreter); } - + public boolean useRemoteDebugger() { try { - return configuration.getAttribute(PHPLaunchConfigurationAttribute.REMOTE_DEBUG, false); - } catch(CoreException e) { + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.REMOTE_DEBUG, false); + } catch (CoreException e) { + PHPLaunchingPlugin.log(e); + } + return false; + } + + public boolean usePathTranslation() { + try { + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.REMOTE_DEBUG_TRANSLATE, + false); + } catch (CoreException e) { PHPLaunchingPlugin.log(e); } return false; } - + + public Map getPathMap() { + try { + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.FILE_MAP, (Map) null); + } catch (CoreException e) { + PHPLaunchingPlugin.log(e); + } + return (Map) null; + } + public boolean useDBGSessionInBrowser() { try { - return configuration.getAttribute(PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_BROWSER, true); - } catch(CoreException e) { + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_BROWSER, + true); + } catch (CoreException e) { PHPLaunchingPlugin.log(e); } return false; } - - public void setEnvironment(String[] envp) - { - if (envp== null) + + public void setEnvironment(String[] envp) { + if (envp == null) return; - for (int i = 0; i