Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-10-26 14:39:44 +0000
committerslewis2007-10-26 14:39:44 +0000
commit6db5ccd83a0f9adcc09697a7619c0d000180ae69 (patch)
tree66ffb4661ef77f8d41a8ace68f60fd8959667e3f
parent96d24e206f75b28261710aa5b183a79c640724c8 (diff)
downloadorg.eclipse.ecf-6db5ccd83a0f9adcc09697a7619c0d000180ae69.tar.gz
org.eclipse.ecf-6db5ccd83a0f9adcc09697a7619c0d000180ae69.tar.xz
org.eclipse.ecf-6db5ccd83a0f9adcc09697a7619c0d000180ae69.zip
Fix for bug 199938
-rw-r--r--framework/bundles/org.eclipse.ecf/schema/start.exsd11
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java9
2 files changed, 13 insertions, 7 deletions
diff --git a/framework/bundles/org.eclipse.ecf/schema/start.exsd b/framework/bundles/org.eclipse.ecf/schema/start.exsd
index 792aa868d..d809ed9c7 100644
--- a/framework/bundles/org.eclipse.ecf/schema/start.exsd
+++ b/framework/bundles/org.eclipse.ecf/schema/start.exsd
@@ -54,7 +54,7 @@
</appInfo>
</annotation>
</attribute>
- <attribute name="synchronous" type="boolean">
+ <attribute name="asynchronous" type="boolean">
<annotation>
<documentation>
Attribute to determine whether the given run class is run synchronously (default) or asynchronously
@@ -84,8 +84,15 @@
&lt;extension
point=&quot;org.eclipse.ecf.start&quot;&gt;
&lt;run
- class=&quot;org.eclipse.ecf.example.collab.start.CollabStart&quot; synchronous=&quot;true&quot; /&gt;
+ class=&quot;org.eclipse.ecf.example.collab.start.CollabStart&quot;/&gt;
&lt;/extension&gt;
+
+&lt;extension
+ point=&quot;org.eclipse.ecf.start&quot;&gt;
+ &lt;run
+ class=&quot;org.eclipse.ecf.example.collab.start.CollabStart&quot; asynchronous=&quot;true&quot;/&gt;
+&lt;/extension&gt;
+
&lt;/pre&gt;
Note that the CollabStart class must implement the &lt;b&gt;org.eclipse.ecf.start.IECFStart&lt;/b&gt; interface.
diff --git a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java
index eda26e6f7..4a1dc614a 100644
--- a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java
+++ b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java
@@ -48,7 +48,7 @@ public class ECFPlugin implements BundleActivator {
public static final String HIDDEN_ATTRIBUTE = "hidden"; //$NON-NLS-1$
- public static final String SYNCH_ATTRIBUTE = "synchronous"; //$NON-NLS-1$
+ public static final String ASYNCH_ATTRIBUTE = "asynchronous"; //$NON-NLS-1$
// The shared instance.
private static ECFPlugin plugin;
@@ -271,10 +271,9 @@ public class ECFPlugin implements BundleActivator {
final IConfigurationElement member = configurationElements[m];
try {
// The only required attribute is "class"
- String sync = member.getAttribute(SYNCH_ATTRIBUTE);
- boolean bsync = (sync == null) ? true : Boolean.valueOf(sync).booleanValue();
+ boolean sync = (member.getAttribute(ASYNCH_ATTRIBUTE) == null);
IECFStart clazz = (IECFStart) member.createExecutableExtension(CLASS_ATTRIBUTE);
- startExtension(clazz.getClass().getName(), clazz, bsync);
+ startExtension(clazz.getClass().getName(), clazz, sync);
} catch (final CoreException e) {
logException(e.getStatus(), method, e);
} catch (final Exception e) {
@@ -289,7 +288,7 @@ public class ECFPlugin implements BundleActivator {
IStatus result = null;
try {
result = exten.run(new NullProgressMonitor());
- } catch (final Exception e) {
+ } catch (final Throwable e) {
final String message = "startup extension error"; //$NON-NLS-1$
logException(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, e), message, e);
}

Back to the top