use module net.sourceforge.phpeclipse.launching instead
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.launching / src / net / sourceforge / phpdt / internal / launching / PHPRuntime.java
diff --git a/net.sourceforge.phpeclipse.debug.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java b/net.sourceforge.phpeclipse.debug.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java
deleted file mode 100644 (file)
index 03447e1..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-package net.sourceforge.phpdt.internal.launching;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Iterator;
-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;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-
-public class PHPRuntime {
-       protected static PHPRuntime runtime;
-       
-       protected List installedInterpreters;
-       protected PHPInterpreter selectedInterpreter;
-       protected PHPRuntime() {
-               super();
-       }
-
-       public static PHPRuntime getDefault() {
-               if (runtime == null) {
-                       runtime = new PHPRuntime();
-               }
-               return runtime;
-       }
-       
-       public PHPInterpreter getSelectedInterpreter() {
-               if (selectedInterpreter == null) {
-                       loadRuntimeConfiguration();
-               }
-               return selectedInterpreter;
-       }
-
-       public PHPInterpreter getInterpreter(String name) {
-               Iterator interpreters = getInstalledInterpreters().iterator();
-               while(interpreters.hasNext()) {
-                       PHPInterpreter each = (PHPInterpreter) interpreters.next();
-                       if (each.getName().equals(name))
-                               return each;
-               }
-               
-               return getSelectedInterpreter();
-       }
-
-       public void setSelectedInterpreter(PHPInterpreter anInterpreter) {
-               selectedInterpreter = anInterpreter;
-               saveRuntimeConfiguration();
-       }
-
-       public void addInstalledInterpreter(PHPInterpreter anInterpreter) {
-               getInstalledInterpreters().add(anInterpreter);
-               if (getInstalledInterpreters().size() == 1)
-                       setSelectedInterpreter((PHPInterpreter) getInstalledInterpreters().get(0));
-
-               saveRuntimeConfiguration();
-       }
-
-       public List getInstalledInterpreters() {
-               if (installedInterpreters == null)
-                       loadRuntimeConfiguration();
-               return installedInterpreters;
-       }
-       
-       public void setInstalledInterpreters(List newInstalledInterpreters) {
-               installedInterpreters = newInstalledInterpreters;
-               if (installedInterpreters.size() > 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()));
-                       return new OutputStreamWriter(stream);
-               } catch (FileNotFoundException e) {}
-
-               return null;
-       }
-       
-       protected void loadRuntimeConfiguration() {
-               installedInterpreters = new ArrayList();
-               try {
-                       XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
-                       reader.setContentHandler(getRuntimeConfigurationContentHandler());
-                       reader.parse(new InputSource(getRuntimeConfigurationReader()));
-               } catch(Exception e) {
-                       PHPLaunchingPlugin.getDefault().log(e);
-               }
-       }
-
-       protected Reader getRuntimeConfigurationReader() {
-               try {
-                       return new FileReader(getRuntimeConfigurationFile());
-               } catch(FileNotFoundException e) {}
-               return new StringReader("");
-       }
-       
-       protected void writeXML(Writer writer) {
-               try {
-                       writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><runtimeconfig>");
-                       Iterator interpretersIterator = installedInterpreters.iterator();
-                       while (interpretersIterator.hasNext()) {
-                               writer.write("<interpreter name=\"");
-                               
-                               PHPInterpreter entry = (PHPInterpreter) interpretersIterator.next();
-                               writer.write(entry.getName());
-                               writer.write("\" path=\"");
-                               writer.write(entry.getInstallLocation().toString());
-                               writer.write("\"");
-                               if (entry.equals(selectedInterpreter))
-                                       writer.write(" selected=\"true\"");
-                                       
-                               writer.write("/>");
-                       }
-                       writer.write("</runtimeconfig>");
-                       writer.flush();
-               } 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 {
-                               if ("interpreter".equals(qName)) {
-                                       String interpreterName = atts.getValue("name");
-                                       IPath installLocation = new Path(atts.getValue("path"));
-                                       PHPInterpreter interpreter = new PHPInterpreter(interpreterName, 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 {}
-               };
-       }
-       
-       protected File getRuntimeConfigurationFile() {
-               IPath stateLocation = PHPLaunchingPlugin.getDefault().getStateLocation();
-               IPath fileLocation = stateLocation.append("runtimeConfiguration.xml");
-               return new File(fileLocation.toOSString());
-       }
-}