diff options
author | Ralf Sternberg | 2012-12-08 17:08:42 +0000 |
---|---|---|
committer | Ralf Sternberg | 2012-12-08 17:08:42 +0000 |
commit | 30c54bb0ba10530748f782258c0d6fa20224f665 (patch) | |
tree | 997fa88903b3286e56584fa422e3608577cc13f5 /bundles/org.eclipse.rap.ui/schema | |
parent | faa28a3dd01181bc6e9fd540b202e45ba88b2b04 (diff) | |
download | org.eclipse.rap-30c54bb0ba10530748f782258c0d6fa20224f665.tar.gz org.eclipse.rap-30c54bb0ba10530748f782258c0d6fa20224f665.tar.xz org.eclipse.rap-30c54bb0ba10530748f782258c0d6fa20224f665.zip |
Use entrypoint extensions also for IApplication
Since application extensions (IApplication) can not be referenced from
a branding extension anymore, we supported a "path" and a "brandingId"
parameter for application extensions instead in RAP 2.0M3. This turned
out to create 2 problems:
1) Third-party bundles may contain application extensions that lead
to an exception in RAP because they don't have a path parameter.
2) Application extensions in third-party bundles have to be modified
in order to be made available in RAP.
Fix this with an alternative approach: Application extensions can be
made available in RAP by a separate entrypoint extension using a new
parameter "applicationId". Path and branding can be specified in the
same way as for "normal" entrypoints.
Also add an example extension to the workbench demo to be able to test
this feature.
See bug 394805: "The parameter 'path' must not be null" when running RAP
with Workbench
https://bugs.eclipse.org/bugs/show_bug.cgi?id=394805
Diffstat (limited to 'bundles/org.eclipse.rap.ui/schema')
-rw-r--r-- | bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd b/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd index 7b04236860..20568fad64 100644 --- a/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd +++ b/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd @@ -67,21 +67,31 @@ As an alternative to registering an entrypoint, Eclipse applications can also us </documentation> </annotation> </attribute> - <attribute name="class" type="string" use="required"> + <attribute name="path" type="string" use="required"> + <annotation> + <documentation> + The URL path to register the entry point at. Must start with a slash. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string"> <annotation> <documentation> - An implementation of <code>IEntryPoint</code> which starts the application. + An implementation of <code>IEntryPoint</code> which starts the application. Either this attribute or applicationId must be specified. </documentation> <appInfo> <meta.attribute kind="java" basedOn=":org.eclipse.rap.rwt.application.EntryPoint"/> </appInfo> </annotation> </attribute> - <attribute name="path" type="string" use="required"> + <attribute name="applicationId" type="string"> <annotation> <documentation> - The URL path to register the entry point at. Must start with a slash. + The id of an IApplication extension to start instead of an EntryPoint class. </documentation> + <appInfo> + <meta.attribute kind="identifier" basedOn="org.eclipse.core.runtime.applications/@id"/> + </appInfo> </annotation> </attribute> <attribute name="brandingId" type="string"> @@ -150,7 +160,6 @@ public class MyEntryPoint implements EntryPoint { path="/myapp"/> </extension> </pre> - </documentation> </annotation> |