Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Sternberg2012-12-08 17:08:42 +0000
committerRalf Sternberg2012-12-08 17:08:42 +0000
commit30c54bb0ba10530748f782258c0d6fa20224f665 (patch)
tree997fa88903b3286e56584fa422e3608577cc13f5 /bundles/org.eclipse.rap.ui
parentfaa28a3dd01181bc6e9fd540b202e45ba88b2b04 (diff)
downloadorg.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')
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd19
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 &lt;code&gt;IEntryPoint&lt;/code&gt; which starts the application.
+ An implementation of &lt;code&gt;IEntryPoint&lt;/code&gt; 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=&quot;/myapp&quot;/&gt;
&lt;/extension&gt;
&lt;/pre&gt;
-
</documentation>
</annotation>

Back to the top