X-Git-Url: http://secure.phpeclipse.com

diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java
index 154604a..ab4f399 100644
--- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java
+++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java
@@ -5,31 +5,21 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.net.MalformedURLException;
 import java.net.URL;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
-import com.quantum.model.BookmarkCollection;
-import com.quantum.util.xml.XMLHelper;
-import com.quantum.view.subset.SubsetContentProvider;
-
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
 import org.eclipse.core.resources.ISavedState;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
 import org.eclipse.ui.IViewPart;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPage;
@@ -37,22 +27,40 @@ import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
+import com.quantum.model.BookmarkCollection;
+import com.quantum.util.xml.XMLHelper;
+import com.quantum.view.subset.SubsetContentProvider;
+
 /**
- * @author root
  * Main class of the quantum plugin, sets defaults, saves and recovers state.
+ * @author root
  */
 public class QuantumPlugin extends AbstractUIPlugin {
-     
+    public final static String PLUGIN_ID = "net.sourceforge.phpeclipse.quantum.sql"; 
 	private static QuantumPlugin plugin;
 	private Clipboard sysClip;
 
-	
+	/**
+	 * 
+	 * TODO: BCH - this constructor has changed in Eclipse 3.0.  This
+	 * old version of the constructor is still necessary for running under
+	 * Eclipse 2.x.
+	 * 
+	 * @param descriptor
+	 */
 	public QuantumPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
+		this();
+	}
+	/**
+	 * This version is recommended for eclipse3.0 and above
+	 */
+	public QuantumPlugin(){ 
+		super();
 		plugin = this;
 	}
 
@@ -104,14 +112,27 @@ public class QuantumPlugin extends AbstractUIPlugin {
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.Plugin#startup()
+	 * This method is deprecated in Eclipse3.0 we must use start(BundleContext context): 
+	 * Migration completed.
 	 */
 	public void startup() throws CoreException {
 		super.startup();
-		ISaveParticipant saveParticipant = new QuantumSaveParticipant();
+		startupMigrationTempMethod(); // To be removed later
+ 	}
+	
+	/**
+	 * Used during startup Eclipse3.0 compatible
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		super.start(bundleContext); 
+		startupMigrationTempMethod(); // To be removed later
+	}
+	private void startupMigrationTempMethod() throws CoreException {
+		// the contents of this.startup() is moved to here to avoid code duplication - see this.start(BundleContext) 
 		ISavedState lastState =
 			ResourcesPlugin.getWorkspace().addSaveParticipant(
 				this,
-				saveParticipant);
+				new QuantumSaveParticipant());
 		if (lastState != null) {
     		IPath location = lastState.lookup(new Path(Messages.getString("QuantumPlugin.saveDir"))); //$NON-NLS-1$
     		if (location != null) {
@@ -124,14 +145,7 @@ public class QuantumPlugin extends AbstractUIPlugin {
         sysClip = new Clipboard(null);
  	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		sysClip.dispose();
-	}
-
+    
 	/**
 	 * Write the bookmarks and subsets to a file, saving them for next use of the quantum plugin
 	 * @param target
@@ -148,7 +162,7 @@ public class QuantumPlugin extends AbstractUIPlugin {
 
             FileWriter writer =  new FileWriter(target);
             try {
-                XMLHelper.createDOMSerializer(writer).serialize(document);
+                XMLHelper.write(writer, document);
     		} finally {
     			writer.close();
     		}
@@ -159,55 +173,32 @@ public class QuantumPlugin extends AbstractUIPlugin {
         }
 	}
 	
-	/**
-	 *  Gets an image descriptof from a file in the icons directory 
-	 * @param name of the file to get
-	 * @return ImageDescriptor or null if not found
-	 */
-	public static ImageDescriptor getImageDescriptor(String name) {
-		ImageDescriptor descriptor = null;
-		try {
-			URL installURL =
-				QuantumPlugin.getDefault().getDescriptor().getInstallURL();
-			URL url = new URL(installURL, Messages.getString("QuantumPlugin.iconsDir") + name); //$NON-NLS-1$
-			descriptor = ImageDescriptor.createFromURL(url);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return descriptor;
-	}
-	public static Image getImage(String name) {
-        ImageDescriptor imageDescriptor = getImageDescriptor(name);
-		return imageDescriptor == null ? null : imageDescriptor.createImage();
-	}
-
 	protected void initializeDefaultPluginPreferences() {
-		RGB BACKGROUND = new RGB(255, 255, 255);
-		RGB COMMENT = new RGB(88, 148, 64);
-		RGB KEYWORD = new RGB(126, 0, 75);
-		RGB STRING = new RGB(0, 0, 255);
-		RGB NUMERIC = new RGB(255, 0, 0);
-		RGB DEFAULT = new RGB(0, 0, 0);
-		IPreferenceStore store = getPreferenceStore();
-		PreferenceConverter.setDefault(store,
-			"quantum.background.color", BACKGROUND); //$NON-NLS-1$
-		PreferenceConverter.setDefault(store,
-			"quantum.text.color", DEFAULT); //$NON-NLS-1$
-		PreferenceConverter.setDefault(store,
-			"quantum.keyword.color", KEYWORD); //$NON-NLS-1$
-		PreferenceConverter.setDefault(store,
-			"quantum.comment.color", COMMENT); //$NON-NLS-1$
-		PreferenceConverter.setDefault(store,
-			"quantum.string.color", STRING); //$NON-NLS-1$
-		PreferenceConverter.setDefault(store,
-			"quantum.numeric.color", NUMERIC); //$NON-NLS-1$
-		getPreferenceStore().setDefault("quantum.text.bold", false); //$NON-NLS-1$
-		getPreferenceStore().setDefault("quantum.keyword.bold", true); //$NON-NLS-1$
-		getPreferenceStore().setDefault("quantum.string.bold", false); //$NON-NLS-1$
-		getPreferenceStore().setDefault("quantum.comment.bold", false); //$NON-NLS-1$
-		getPreferenceStore().setDefault("quantum.numeric.bold", false); //$NON-NLS-1$
-		PreferenceConverter.setDefault(getPreferenceStore(), "quantum.font", (FontData) null); //$NON-NLS-1$
-        getPreferenceStore().setDefault("com.quantum.model.Bookmark.queryHistorySize", 20); //$NON-NLS-1$
+		PluginPreferences.initialize(getPreferenceStore());
+		
+		getPreferenceStore().setDefault(
+            "phpeclipse.sql.select.template",
+            "$results = mysql_query(\"SELECT {0} FROM {1} WHERE {2} \");");
+
+          getPreferenceStore().setDefault(
+            "phpeclipse.sql.insert.template",
+            "$results = mysql_query(\"INSERT INTO {0} ({1}) VALUES {2} \");");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.update.template", "$results = mysql_query(\"UPDATE {0} SET {1} WHERE {2} \");");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.delete.template", "$results = mysql_query(\"DELETE FROM {0} WHERE {1} \");");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.username.connect", "root");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.connect.connect", "jdbc:mysql://localhost/mysql");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.driver.connect", "com.mysql.jdbc.Driver");
+
+          getPreferenceStore().setDefault("phpeclipse.sql.type.connect", "MySQL");
+
+          getPreferenceStore().setDefault(
+            "phpeclipse.sql.filename.connect",
+            "C:\\wampp2\\mysql\\lib\\mysql-connector.jar");
 	}
 	// Returns the active page
 	public IWorkbenchPage getActivePage()
@@ -245,66 +236,28 @@ public class QuantumPlugin extends AbstractUIPlugin {
 
 
 
-	class QuantumSaveParticipant implements ISaveParticipant {
-		/**
-		* @see org.eclipse.core.resources.ISaveParticipant#doneSaving(ISaveContext)
-		*/
-		public void doneSaving(ISaveContext context) {
-		}
-		/**
-		 * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(ISaveContext)
-		 */
-		public void prepareToSave(ISaveContext context) throws CoreException {
-		}
-
-		/**
-		 * @see org.eclipse.core.resources.ISaveParticipant#rollback(ISaveContext)
-		 */
-		public void rollback(ISaveContext context) {
-		}
-
-		/**
-		 * @see org.eclipse.core.resources.ISaveParticipant#saving(ISaveContext)
-		 */
-		public void saving(ISaveContext context) throws CoreException {
-			switch (context.getKind()) {
-				case ISaveContext.FULL_SAVE :
-					QuantumPlugin quantumPluginInstance = QuantumPlugin.getDefault();
-					// save the plug in state 
-					if (BookmarkCollection.getInstance().isAnythingChanged()
-						|| SubsetContentProvider.getInstance().hasChanged()) {
-
-						int saveNumber = context.getSaveNumber();
-						String saveFileName = Messages.getString("QuantumPlugin.saveDir") + "-" + Integer.toString(saveNumber) + Messages.getString("QuantumPlugin.saveFileExtension"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						File f = quantumPluginInstance.getStateLocation().append(saveFileName).toFile();
-
-						// if we fail to write, an exception is thrown and we do not update the path 
-						quantumPluginInstance.writeImportantState(f);
-
-						context.map(new Path(Messages.getString("QuantumPlugin.saveDir")), new Path(saveFileName)); //$NON-NLS-1$
-						context.needSaveNumber();
-
-					} else {
-						System.out.println("Not saving unchanged bookmarks"); //$NON-NLS-1$
-					}
-					break;
-				case ISaveContext.PROJECT_SAVE :
-					// get the project related to this save operation 
-					//IProject project = context.getProject(); 
-					// save its information, if necessary 
-					break;
-				case ISaveContext.SNAPSHOT :
-					// This operation needs to be really fast because 
-					// snapshots can be requested frequently by the 
-					// workspace. 
-					break;
-			}
-		}
-	}
 	/**
 	 * @return
 	 */
 	public Clipboard getSysClip() {
 		return sysClip;
 	}
+	protected void initializeImageRegistry(ImageRegistry registry) {
+		super.initializeImageRegistry(registry);
+		try {
+			ImageStore.initialize(this, registry, getIconLocation());
+		} catch (MalformedURLException e) {
+			// this should never happen, but if it does, we don't get images.
+		}
+	}
+
+	/**
+	 * @return
+	 * @throws MalformedURLException
+	 */
+	private URL getIconLocation() throws MalformedURLException {
+//		URL installURL = getDescriptor().getInstallURL();
+		URL installURL = getBundle().getEntry("/");
+		return new URL(installURL, "icons/");
+	}
 }
\ No newline at end of file