|
From: <caw...@us...> - 2007-09-14 14:18:47
|
Revision: 3177
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=3177&view=rev
Author: cawilliams
Date: 2007-09-14 07:18:44 -0700 (Fri, 14 Sep 2007)
Log Message:
-----------
initialize indexer and ui in same way JDT does
Modified Paths:
--------------
trunk/org.rubypeople.rdt.ui/plugin.xml
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyPlugin.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.properties
Added Paths:
-----------
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/InitializeAfterLoadJob.java
Removed Paths:
-------------
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/ForceIndexer.java
Modified: trunk/org.rubypeople.rdt.ui/plugin.xml
===================================================================
--- trunk/org.rubypeople.rdt.ui/plugin.xml 2007-09-13 20:26:05 UTC (rev 3176)
+++ trunk/org.rubypeople.rdt.ui/plugin.xml 2007-09-14 14:18:44 UTC (rev 3177)
@@ -1532,7 +1532,6 @@
<extension
point="org.eclipse.ui.startup">
- <startup class="org.rubypeople.rdt.internal.ui.ForceIndexer"/>
<startup class="org.rubypeople.rdt.internal.ui.RubyInstalledDetector"/>
</extension>
<extension
Deleted: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/ForceIndexer.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/ForceIndexer.java 2007-09-13 20:26:05 UTC (rev 3176)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/ForceIndexer.java 2007-09-14 14:18:44 UTC (rev 3177)
@@ -1,12 +0,0 @@
-package org.rubypeople.rdt.internal.ui;
-
-import org.eclipse.ui.IStartup;
-import org.rubypeople.rdt.core.RubyCore;
-
-public class ForceIndexer implements IStartup {
-
- public void earlyStartup() {
- RubyCore.forceIndexing();
- }
-
-}
Added: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/InitializeAfterLoadJob.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/InitializeAfterLoadJob.java (rev 0)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/InitializeAfterLoadJob.java 2007-09-14 14:18:44 UTC (rev 3177)
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+ package org.rubypeople.rdt.internal.ui;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.ui.progress.UIJob;
+import org.rubypeople.rdt.core.RubyCore;
+import org.rubypeople.rdt.ui.RubyUI;
+
+public class InitializeAfterLoadJob extends UIJob {
+
+ private final class RealJob extends Job {
+ public RealJob(String name) {
+ super(name);
+ }
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("", 10); //$NON-NLS-1$
+ try {
+ RubyCore.initializeAfterLoad(new SubProgressMonitor(monitor, 6));
+ RubyPlugin.initializeAfterLoad(new SubProgressMonitor(monitor, 4));
+ } catch (CoreException e) {
+ RubyPlugin.log(e);
+ return e.getStatus();
+ }
+ return new Status(IStatus.OK, RubyPlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
+ }
+ public boolean belongsTo(Object family) {
+ return RubyUI.ID_PLUGIN.equals(family);
+ }
+ }
+
+ public InitializeAfterLoadJob() {
+ super(RubyUIMessages.InitializeAfterLoadJob_starter_job_name);
+ setSystem(true);
+ }
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ Job job = new RealJob(RubyUIMessages.RubyPlugin_initializing_ui);
+ job.setPriority(Job.SHORT);
+ job.schedule();
+ return new Status(IStatus.OK, RubyPlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
+ }
+}
\ No newline at end of file
Property changes on: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/InitializeAfterLoadJob.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyPlugin.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyPlugin.java 2007-09-13 20:26:05 UTC (rev 3176)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyPlugin.java 2007-09-14 14:18:44 UTC (rev 3177)
@@ -56,6 +56,7 @@
import org.rubypeople.rdt.core.IRubyScript;
import org.rubypeople.rdt.core.RubyCore;
import org.rubypeople.rdt.core.WorkingCopyOwner;
+import org.rubypeople.rdt.internal.corext.util.OpenTypeHistory;
import org.rubypeople.rdt.internal.corext.util.TypeFilter;
import org.rubypeople.rdt.internal.formatter.OldCodeFormatter;
import org.rubypeople.rdt.internal.ui.preferences.MembersOrderPreferenceCache;
@@ -175,7 +176,15 @@
upgradeOldProjects();
String generateRdocOption = Platform.getDebugOption(RubyPlugin.PLUGIN_ID + "/generaterdoc");
RDocUtility.setDebugging(generateRdocOption == null ? false : generateRdocOption.equalsIgnoreCase("true"));
+
+ // Initialize AST provider
+ getASTProvider();
+ new InitializeAfterLoadJob().schedule();
}
+
+ /* package */ static void initializeAfterLoad(IProgressMonitor monitor) {
+ OpenTypeHistory.getInstance().checkConsistency(monitor);
+ }
private void listenForNewProjects() {
ResourcesPlugin.getWorkspace().addResourceChangeListener(new ProjectUpgradeListener(this));
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.java 2007-09-13 20:26:05 UTC (rev 3176)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.java 2007-09-14 14:18:44 UTC (rev 3177)
@@ -105,6 +105,8 @@
public static String Spelling_add_label;
public static String Spelling_ignore_info;
public static String Spelling_ignore_label;
+ public static String RubyPlugin_initializing_ui;
+ public static String InitializeAfterLoadJob_starter_job_name;
private RubyUIMessages() {
}
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.properties
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.properties 2007-09-13 20:26:05 UTC (rev 3176)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.properties 2007-09-14 14:18:44 UTC (rev 3177)
@@ -3,6 +3,9 @@
# All Rights Reserved.
#########################################
+InitializeAfterLoadJob_starter_job_name=Starting Ruby Tooling initialization
+RubyPlugin_initializing_ui=Initializing Ruby Tooling
+
#######
## dialogs
#######
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|