X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java index 0613535..1dbea3b 100644 --- a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java +++ b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java @@ -18,7 +18,6 @@ import java.util.List; import javax.xml.parsers.SAXParserFactory; import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; @@ -28,9 +27,11 @@ import org.xml.sax.XMLReader; public class PHPRuntime { protected static PHPRuntime runtime; - + protected List installedInterpreters; + protected PHPInterpreter selectedInterpreter; + protected PHPRuntime() { super(); } @@ -41,7 +42,7 @@ public class PHPRuntime { } return runtime; } - + public PHPInterpreter getSelectedInterpreter() { if (selectedInterpreter == null) { loadRuntimeConfiguration(); @@ -51,12 +52,12 @@ public class PHPRuntime { public PHPInterpreter getInterpreter(String installLocation) { Iterator interpreters = getInstalledInterpreters().iterator(); - while(interpreters.hasNext()) { + while (interpreters.hasNext()) { PHPInterpreter each = (PHPInterpreter) interpreters.next(); if (each.getInstallLocation().toString().equals(installLocation)) return each; } - + return getSelectedInterpreter(); } @@ -68,7 +69,8 @@ public class PHPRuntime { public void addInstalledInterpreter(PHPInterpreter anInterpreter) { getInstalledInterpreters().add(anInterpreter); if (getInstalledInterpreters().size() == 1) - setSelectedInterpreter((PHPInterpreter) getInstalledInterpreters().get(0)); + setSelectedInterpreter((PHPInterpreter) getInstalledInterpreters() + .get(0)); saveRuntimeConfiguration(); } @@ -78,38 +80,44 @@ public class PHPRuntime { loadRuntimeConfiguration(); return installedInterpreters; } - + public void setInstalledInterpreters(List newInstalledInterpreters) { installedInterpreters = newInstalledInterpreters; if (installedInterpreters.size() > 0) - setSelectedInterpreter((PHPInterpreter)installedInterpreters.get(0)); + setSelectedInterpreter((PHPInterpreter) installedInterpreters + .get(0)); else setSelectedInterpreter(null); } - + protected void saveRuntimeConfiguration() { writeXML(getRuntimeConfigurationWriter()); } protected Writer getRuntimeConfigurationWriter() { try { - OutputStream stream = new BufferedOutputStream(new FileOutputStream(getRuntimeConfigurationFile())); + OutputStream stream = new BufferedOutputStream( + new FileOutputStream(getRuntimeConfigurationFile())); return new OutputStreamWriter(stream); - } catch (FileNotFoundException e) {} + } catch (FileNotFoundException e) { + } return null; } - + protected void loadRuntimeConfiguration() { installedInterpreters = new ArrayList(); try { File file = getRuntimeConfigurationFile(); if (file.exists()) { - XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); - reader.setContentHandler(getRuntimeConfigurationContentHandler()); - reader.parse(new InputSource(getRuntimeConfigurationReader(file))); + XMLReader reader = SAXParserFactory.newInstance() + .newSAXParser().getXMLReader(); + reader + .setContentHandler(getRuntimeConfigurationContentHandler()); + reader.parse(new InputSource( + getRuntimeConfigurationReader(file))); } - } catch(Exception e) { + } catch (Exception e) { PHPLaunchingPlugin.log(e); } } @@ -117,66 +125,98 @@ public class PHPRuntime { protected Reader getRuntimeConfigurationReader(File file) { try { return new FileReader(file); - } catch(FileNotFoundException e) {} + } catch (FileNotFoundException e) { + } return new StringReader(""); } - + protected void writeXML(Writer writer) { try { - writer.write(""); + writer + .write(""); Iterator interpretersIterator = installedInterpreters.iterator(); while (interpretersIterator.hasNext()) { writer.write(""); } writer.write(""); writer.flush(); - } catch(IOException e) { + } catch (IOException e) { PHPLaunchingPlugin.log(e); } } protected ContentHandler getRuntimeConfigurationContentHandler() { return new ContentHandler() { - public void setDocumentLocator(Locator locator) {} - public void startDocument() throws SAXException {} - public void endDocument() throws SAXException {} - public void startPrefixMapping(String prefix, String uri) throws SAXException {} - public void endPrefixMapping(String prefix) throws SAXException {} - public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { + public void setDocumentLocator(Locator locator) { + } + + public void startDocument() throws SAXException { + } + + public void endDocument() throws SAXException { + } + + public void startPrefixMapping(String prefix, String uri) + throws SAXException { + } + + 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"); - 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); + 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; } } - public void endElement(String namespaceURI, String localName, String qName) throws SAXException {} - public void characters(char[] ch, int start, int length) throws SAXException {} - public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {} - public void processingInstruction(String target, String data) throws SAXException {} - public void skippedEntity(String name) throws SAXException {} + + public void endElement(String namespaceURI, String localName, + String qName) throws SAXException { + } + + public void characters(char[] ch, int start, int length) + throws SAXException { + } + + public void ignorableWhitespace(char[] ch, int start, int length) + throws SAXException { + } + + public void processingInstruction(String target, String data) + throws SAXException { + } + + public void skippedEntity(String name) throws SAXException { + } }; } - + protected File getRuntimeConfigurationFile() { - IPath stateLocation = PHPLaunchingPlugin.getDefault().getStateLocation(); + IPath stateLocation = PHPLaunchingPlugin.getDefault() + .getStateLocation(); IPath fileLocation = stateLocation.append("runtimeConfiguration.xml"); return new File(fileLocation.toOSString()); }