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..1675fb7 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,162 +10,199 @@ 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.getLocation().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<envp.length; i++ ) { - addEnvironmentValue(envp[i],true); + for (int i = 0; i < envp.length; i++) { + addEnvironmentValue(envp[i], true); } } - - public void addEnvironmentValue(String env,boolean replace) - { - String value = env.substring(env.indexOf('=')+1); - String key = env.substring(0,env.indexOf('=')); - addEnvironmentValue(key,value,replace); + + public void addEnvironmentValue(String env, boolean replace) { + String value = env.substring(env.indexOf('=') + 1); + String key = env.substring(0, env.indexOf('=')); + addEnvironmentValue(key, value, replace); } - - public void addEnvironmentValue(String key, String value,boolean replace) - { + + public void addEnvironmentValue(String key, String value, boolean replace) { if (!replace && fEnvironment.containsKey(key)) { - EnvironmentVariable ev = (EnvironmentVariable) fEnvironment.get(key); - ev.setValue(ev.getValue()+";"+value); - fEnvironment.put(key,ev); + EnvironmentVariable ev = (EnvironmentVariable) fEnvironment + .get(key); + ev.setValue(ev.getValue() + ";" + value); + fEnvironment.put(key, ev); } else this.fEnvironment.put(key, new EnvironmentVariable(key, value)); } - - public String[] getEnvironment() - { - Iterator iter= fEnvironment.entrySet().iterator(); - List strings= new ArrayList(fEnvironment.size()); + public String[] getEnvironment() { + + Iterator iter = fEnvironment.entrySet().iterator(); + List strings = new ArrayList(fEnvironment.size()); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); - StringBuffer buffer= new StringBuffer((String) entry.getKey()); - buffer.append('=').append(((EnvironmentVariable) entry.getValue()).getValue()); + StringBuffer buffer = new StringBuffer((String) entry.getKey()); + buffer.append('=').append( + ((EnvironmentVariable) entry.getValue()).getValue()); strings.add(buffer.toString()); } return (String[]) strings.toArray(new String[strings.size()]); - } - + } + public String getRemoteSourcePath() { - + IProject project = getProject().getProject(); - if (useRemoteDebugger()) + if (!useRemoteDebugger()) return project.getLocation().toOSString(); - else - { + else { try { - return configuration.getAttribute(PHPLaunchConfigurationAttribute.REMOTE_PATH, ""); - } catch(CoreException e) { + return configuration.getAttribute( + PHPLaunchConfigurationAttribute.REMOTE_PATH, ""); + } catch (CoreException e) { PHPLaunchingPlugin.log(e); } - } + } return ""; }