return selectedInterpreter;
}
- public PHPInterpreter getInterpreter(String name) {
+ public PHPInterpreter getInterpreter(String installLocation) {
Iterator interpreters = getInstalledInterpreters().iterator();
while(interpreters.hasNext()) {
PHPInterpreter each = (PHPInterpreter) interpreters.next();
- if (each.getName().equals(name))
+ if (each.getInstallLocation().toString().equals(installLocation))
return each;
}
protected void loadRuntimeConfiguration() {
installedInterpreters = new ArrayList();
try {
- XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
- reader.setContentHandler(getRuntimeConfigurationContentHandler());
- reader.parse(new InputSource(getRuntimeConfigurationReader()));
+ File file = getRuntimeConfigurationFile();
+ if (file.exists()) {
+ XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+ reader.setContentHandler(getRuntimeConfigurationContentHandler());
+ reader.parse(new InputSource(getRuntimeConfigurationReader(file)));
+ }
} catch(Exception e) {
- PHPLaunchingPlugin.getDefault().log(e);
+ PHPLaunchingPlugin.log(e);
}
}
- protected Reader getRuntimeConfigurationReader() {
+ protected Reader getRuntimeConfigurationReader(File file) {
try {
- return new FileReader(getRuntimeConfigurationFile());
+ return new FileReader(file);
} catch(FileNotFoundException e) {}
return new StringReader("");
}
writer.write("<interpreter name=\"");
PHPInterpreter entry = (PHPInterpreter) interpretersIterator.next();
- writer.write(entry.getName());
+// writer.write(entry.getName());
writer.write("\" path=\"");
writer.write(entry.getInstallLocation().toString());
writer.write("\"");
public void endPrefixMapping(String prefix) throws SAXException {}
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if ("interpreter".equals(qName)) {
- String interpreterName = atts.getValue("name");
- IPath installLocation = new Path(atts.getValue("path"));
- PHPInterpreter interpreter = new PHPInterpreter(interpreterName, installLocation);
+ String interpreterName = atts.getValue("name");
+ java.io.File installLocation;
+ if (interpreterName!=null) {
+ installLocation = new File(atts.getValue("path")+File.separatorChar+interpreterName);
+ } else {
+ installLocation = new File(atts.getValue("path"));
+ }
+ PHPInterpreter interpreter = new PHPInterpreter(installLocation);
installedInterpreters.add(interpreter);
if (atts.getValue("selected") != null)
selectedInterpreter = interpreter;