avoid NullPointerException in debug
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPeclipsePlugin.java
index 19583f5..6eeecfb 100644 (file)
@@ -73,7 +73,6 @@ import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdapterManager;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
@@ -124,8 +123,9 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
    * The id of the PHP plugin (value <code>"net.sourceforge.phpeclipse"</code>).
    */
   public static final String PLUGIN_ID = "net.sourceforge.phpeclipse"; //$NON-NLS-1$
+  public static final String EDITOR_ID = PHPeclipsePlugin.PLUGIN_ID+".PHPUnitEditor";
   public static final String ID_PERSPECTIVE = "net.sourceforge.phpeclipse.PHPPerspective"; //$NON-NLS-1$
-       
+
   IWorkspace w;
 
   /**
@@ -145,27 +145,27 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * The key to store customized templates.
-   * 
+   *
    * @since 3.0
    */
   private static final String TEMPLATES_KEY = "net.sourceforge.phpdt.ui.text.custom_templates"; //$NON-NLS-1$
 
   /**
    * The key to store customized code templates.
-   * 
+   *
    * @since 3.0
    */
   private static final String CODE_TEMPLATES_KEY = "net.sourceforge.phpdt.ui.text.custom_code_templates"; //$NON-NLS-1$
 
   /**
    * The key to store whether the legacy templates have been migrated
-   * 
+   *
    * @since 3.0
    */
   //   private static final String TEMPLATES_MIGRATION_KEY= "net.sourceforge.phpdt.ui.text.templates_migrated"; //$NON-NLS-1$
   /**
    * The key to store whether the legacy code templates have been migrated
-   * 
+   *
    * @since 3.0
    */
   //   private static final String CODE_TEMPLATES_MIGRATION_KEY= "net.sourceforge.phpdt.ui.text.code_templates_migrated";
@@ -208,28 +208,28 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * The template context type registry for the java editor.
-   * 
+   *
    * @since 3.0
    */
   private ContextTypeRegistry fContextTypeRegistry;
 
   /**
    * The code template context type registry for the java editor.
-   * 
+   *
    * @since 3.0
    */
   private ContextTypeRegistry fCodeTemplateContextTypeRegistry;
 
   /**
    * The template store for the java editor.
-   * 
+   *
    * @since 3.0
    */
   private TemplateStore fTemplateStore;
 
   /**
    * The coded template store for the java editor.
-   * 
+   *
    * @since 3.0
    */
   private TemplateStore fCodeTemplateStore;
@@ -271,27 +271,27 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Property change listener on this plugin's preference store.
-   * 
+   *
    * @since 3.0
    */
   //  private IPropertyChangeListener fPropertyChangeListener;
   /**
    * The combined preference store.
-   * 
+   *
    * @since 3.0
    */
   private IPreferenceStore fCombinedPreferenceStore;
 
   /**
    * The extension point registry for the <code>net.sourceforge.phpdt.ui.javaFoldingStructureProvider</code> extension point.
-   * 
+   *
    * @since 3.0
    */
   private JavaFoldingStructureProviderRegistry fFoldingStructureProviderRegistry;
 
   /**
    * Mockup preference store for firing events and registering listeners on project setting changes. FIXME: Temporary solution.
-   * 
+   *
    * @since 3.0
    */
   private MockupPreferenceStore fMockupPreferenceStore;
@@ -299,8 +299,8 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   /**
    * The constructor.
    */
-  public PHPeclipsePlugin(IPluginDescriptor descriptor) {
-    super(descriptor);
+  public PHPeclipsePlugin() {
+    super();
     plugin = this;
 //    externalTools = new ExternalToolsPlugin();
 
@@ -327,7 +327,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   //  }
   /**
    * Returns all Java editor text hovers contributed to the workbench.
-   * 
+   *
    * @return an array of JavaEditorTextHoverDescriptor
    * @since 2.1
    */
@@ -414,7 +414,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
    * <p>
    * This will force a rebuild of the descriptors the next time a client asks for them.
    * </p>
-   * 
+   *
    * @return an array of JavaEditorTextHoverDescriptor
    * @since 2.1
    */
@@ -452,7 +452,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   /**
    * Returns an array of all editors that have an unsaved content. If the identical content is presented in more than one editor,
    * only one of those editor parts is part of the result.
-   * 
+   *
    * @return an array of all dirty editor parts.
    */
   public static IEditorPart[] getDirtyEditors() {
@@ -493,7 +493,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   }
 
   static IPath getInstallLocation() {
-    return new Path(getDefault().getDescriptor().getInstallURL().getFile());
+    return new Path(getDefault().getBundle().getEntry("/").getFile());
   }
 
   //  public static int getJVM() {
@@ -501,7 +501,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   //  }
 
   public static String getPluginId() {
-    return getDefault().getDescriptor().getUniqueIdentifier();
+    return getDefault().getBundle().getSymbolicName() ;
   }
 
   /**
@@ -561,17 +561,25 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   }
 
   public static void log(Throwable t) {
-         log("PHPeclipsePlugin.internalErrorOccurred", t); //$NON-NLS-1$
+         log(error(t));
   }
-  
+
   public static void log(String message, Throwable t) {
-    log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, t)); 
+    log(error(message, t));
   }
 
   public static void logErrorMessage(String message) {
     log(new Status(IStatus.ERROR, getPluginId(), IJavaStatusConstants.INTERNAL_ERROR, message, null));
   }
 
+  public static IStatus error(Throwable t) {
+         return error("PHPeclipsePlugin.internalErrorOccurred", t); //$NON-NLS-1$
+  }
+
+  public static IStatus error(String message, Throwable t) {
+         return new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, t);
+  }
+
   //  private static void setJVM() {
   //    String osName = System.getProperty("os.name");
   //    if (osName.startsWith("Mac OS")) {
@@ -609,7 +617,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Get the identifier index manager for the given project
-   * 
+   *
    * @param iProject
    *          the current project
    * @return
@@ -624,7 +632,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 //      e.printStackTrace();
 //    } catch (SQLException e) {
 //      e.printStackTrace();
-//    } 
+//    }
     IdentifierIndexManager indexManager = (IdentifierIndexManager) fIndexManagerMap.get(indexFilename);
     if (indexManager == null) {
       indexManager = new IdentifierIndexManager(indexFilename);
@@ -702,10 +710,10 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
       InputStream is = getDefault().openStream(
                new Path("prefs/default_" + operatingSystem + ".properties"));
       PropertyResourceBundle resourceBundle = new PropertyResourceBundle(is);
-      Enumeration enum = resourceBundle.getKeys();
+      Enumeration e = resourceBundle.getKeys();
       String key;
-      while (enum.hasMoreElements()) {
-        key = (String)enum.nextElement();
+      while (e.hasMoreElements()) {
+        key = (String)e.nextElement();
         store.setDefault(key, resourceBundle.getString( key ));
       }
     } catch (Exception e) {
@@ -750,8 +758,8 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
       //    store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}");
 //    }
 
-    store.setDefault(PHP_EXTENSION_PREFS, "php,php3,php4,php5,phtml,inc,module,class");
-    
+//    store.setDefault(PHP_EXTENSION_PREFS, "php,php3,php4,php5,phtml,inc,module,class");
+
     //    store.setDefault(PHP_PARSER_DEFAULT, PHP_EXTERNAL_PARSER);
     //    store.setDefault(PHP_INTERNAL_PARSER, "false");
     //    store.setDefault(PHP_EXTERNAL_PARSER, "true");
@@ -767,12 +775,13 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
     PreferenceConverter.setDefault(store, PHP_TAG, PHPColorProvider.TAG);
     PreferenceConverter.setDefault(store, PHP_KEYWORD, PHPColorProvider.KEYWORD);
     PreferenceConverter.setDefault(store, PHP_VARIABLE, PHPColorProvider.VARIABLE);
+    PreferenceConverter.setDefault(store, PHP_VARIABLE_DOLLAR, PHPColorProvider.VARIABLE);
     PreferenceConverter.setDefault(store, PHP_FUNCTIONNAME, PHPColorProvider.FUNCTION_NAME);
     PreferenceConverter.setDefault(store, PHP_CONSTANT, PHPColorProvider.CONSTANT);
     PreferenceConverter.setDefault(store, PHP_TYPE, PHPColorProvider.TYPE);
 //    PreferenceConverter.setDefault(store, PHP_STRING_DQ, PHPColorProvider.STRING_DQ);
-//    store.setDefault(PHP_STRING_BOLD_DQ, true); 
-//    PreferenceConverter.setDefault(store, PHP_STRING_SQ, PHPColorProvider.STRING_SQ); 
+//    store.setDefault(PHP_STRING_BOLD_DQ, true);
+//    PreferenceConverter.setDefault(store, PHP_STRING_SQ, PHPColorProvider.STRING_SQ);
     PreferenceConverter.setDefault(store, PHP_DEFAULT, PHPColorProvider.DEFAULT);
     PreferenceConverter.setDefault(store, PHPDOC_KEYWORD, PHPColorProvider.PHPDOC_KEYWORD);
     PreferenceConverter.setDefault(store, PHPDOC_TAG, PHPColorProvider.PHPDOC_TAG);
@@ -854,7 +863,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread.
-   * 
+   *
    * @param filename
    * @throws CoreException
    */
@@ -900,7 +909,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread.
-   * 
+   *
    * @param filename
    * @param line
    * @throws CoreException
@@ -923,7 +932,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread.
-   * 
+   *
    * @param filename
    * @param offset
    * @throws CoreException
@@ -1319,9 +1328,9 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Returns a combined preference store, this store is read-only.
-   * 
+   *
    * @return the combined preference store
-   * 
+   *
    * @since 3.0
    */
   public IPreferenceStore getCombinedPreferenceStore() {
@@ -1344,7 +1353,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   /**
    * Returns the registry of the extensions to the <code>net.sourceforge.phpdt.ui.javaFoldingStructureProvider</code> extension
    * point.
-   * 
+   *
    * @return the registry of contributed <code>IJavaFoldingStructureProvider</code>
    * @since 3.0
    */
@@ -1368,7 +1377,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
    * <p>
    * If this method is called in the dynamic scope of another such call, this method simply runs the action.
    * </p>
-   * 
+   *
    * @param action
    *          the action to perform
    * @param monitor
@@ -1399,7 +1408,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
    * The supplied scheduling rule is used to determine whether this operation can be run simultaneously with workspace changes in
    * other threads. See <code>IWorkspace.run(...)</code> for more details.
    * </p>
-   * 
+   *
    * @param action
    *          the action to perform
    * @param rule
@@ -1424,7 +1433,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Returns the template context type registry for the java plugin.
-   * 
+   *
    * @return the template context type registry for the java plugin
    * @since 3.0
    */
@@ -1442,7 +1451,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Returns the template store for the java editor templates.
-   * 
+   *
    * @return the template store for the java editor templates
    * @since 3.0
    */
@@ -1469,7 +1478,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Returns the template context type registry for the code generation templates.
-   * 
+   *
    * @return the template context type registry for the code generation templates
    * @since 3.0
    */
@@ -1485,7 +1494,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
 
   /**
    * Returns the template store for the code generation templates.
-   * 
+   *
    * @return the template store for the code generation templates
    * @since 3.0
    */