diff options
author | slewis | 2007-10-26 14:39:44 +0000 |
---|---|---|
committer | slewis | 2007-10-26 14:39:44 +0000 |
commit | 6db5ccd83a0f9adcc09697a7619c0d000180ae69 (patch) | |
tree | 66ffb4661ef77f8d41a8ace68f60fd8959667e3f | |
parent | 96d24e206f75b28261710aa5b183a79c640724c8 (diff) | |
download | org.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.exsd | 11 | ||||
-rw-r--r-- | framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/internal/core/ECFPlugin.java | 9 |
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 @@ <extension point="org.eclipse.ecf.start"> <run - class="org.eclipse.ecf.example.collab.start.CollabStart" synchronous="true" /> + class="org.eclipse.ecf.example.collab.start.CollabStart"/> </extension> + +<extension + point="org.eclipse.ecf.start"> + <run + class="org.eclipse.ecf.example.collab.start.CollabStart" asynchronous="true"/> +</extension> + </pre> Note that the CollabStart class must implement the <b>org.eclipse.ecf.start.IECFStart</b> 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); } |