Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2015-01-22 14:50:20 +0000
committerTom Schindl2015-01-22 14:50:20 +0000
commit034452c6c4cc9cc0a0177136cedd79c4f815030a (patch)
tree9d8feb9852b5dd042b4fc663341df896b80c13d8
parent383be4666e9b8135986a452167124802479389e4 (diff)
downloadorg.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.tar.gz
org.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.tar.xz
org.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.zip
Bug 458155 - [e4] e4.core.commands uses statics which causes major
problems on RAP
-rw-r--r--bundles/org.eclipse.e4.core.commands/pom.xml58
-rw-r--r--bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java12
-rw-r--r--bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java7
-rw-r--r--bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java12
-rw-r--r--bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java41
-rw-r--r--bundles/org.eclipse.e4.ui.workbench/pom.xml58
-rw-r--r--bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java12
-rw-r--r--demo/org.eclipse.rap.e4.demo/Application.e4xmi11
-rw-r--r--demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties9
-rw-r--r--demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties9
-rw-r--r--demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch4
-rw-r--r--features/org.eclipse.rap.e4.base.feature/feature.xml14
-rw-r--r--releng/releng-target/pom.xml2
13 files changed, 150 insertions, 99 deletions
diff --git a/bundles/org.eclipse.e4.core.commands/pom.xml b/bundles/org.eclipse.e4.core.commands/pom.xml
index 114fef8..19c424e 100644
--- a/bundles/org.eclipse.e4.core.commands/pom.xml
+++ b/bundles/org.eclipse.e4.core.commands/pom.xml
@@ -1,24 +1,34 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2013 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>eclipse.platform.ui</artifactId>
- <groupId>eclipse.platform.ui</groupId>
- <version>4.4.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.e4</groupId>
- <artifactId>org.eclipse.e4.core.commands</artifactId>
- <version>0.10.2-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>RAP e4 target runtime build - Core Commands</name>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>org.eclipse.e4.core.commands</artifactId>
+ <version>0.10.2-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>releng</artifactId>
+ <relativePath>../../releng/releng-target/pom.xml</relativePath>
+ <version>0.9.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <!-- to ensure that the feature lookup of the ui test works -->
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java
index 51e873d..b7097cc 100644
--- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java
+++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java
@@ -13,12 +13,15 @@
package org.eclipse.e4.core.commands;
import java.lang.reflect.Field;
+import java.util.LinkedList;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
+import javax.inject.Inject;
import org.eclipse.core.commands.CommandManager;
import org.eclipse.e4.core.commands.internal.CommandServiceImpl;
import org.eclipse.e4.core.commands.internal.HandlerServiceCreationFunction;
import org.eclipse.e4.core.commands.internal.HandlerServiceImpl;
+import org.eclipse.e4.core.commands.internal.HandlerServiceImpl.ExecutionContexts;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
@@ -29,6 +32,12 @@ import org.eclipse.e4.core.contexts.IEclipseContext;
* @noinstantiate
*/
public class CommandServiceAddon {
+ private IEclipseContext context;
+
+ @Inject
+ public CommandServiceAddon(IEclipseContext context) {
+ this.context = context;
+ }
@PostConstruct
void init(IEclipseContext context) {
@@ -46,13 +55,14 @@ public class CommandServiceAddon {
// handler service
context.set(EHandlerService.class.getName(), new HandlerServiceCreationFunction());
+ context.set("_handlerExecutionStack", new LinkedList<ExecutionContexts>()); //$NON-NLS-1$
// provide the initial application context, just in case.
HandlerServiceImpl.push(context, null);
}
@PreDestroy
void cleanup() {
- HandlerServiceImpl.pop();
+ HandlerServiceImpl.pop(context);
}
/**
diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java
index 449c87e..052e713 100644
--- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java
+++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java
@@ -19,6 +19,7 @@ import org.eclipse.core.commands.CommandManager;
import org.eclipse.core.commands.IParameter;
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.e4.core.commands.ECommandService;
+import org.eclipse.e4.core.contexts.IEclipseContext;
/**
*
@@ -26,10 +27,12 @@ import org.eclipse.e4.core.commands.ECommandService;
public class CommandServiceImpl implements ECommandService {
private CommandManager commandManager;
+ private IEclipseContext context;
@Inject
- public void setManager(CommandManager m) {
+ public void setManager(CommandManager m, IEclipseContext c) {
commandManager = m;
+ context = c;
}
@Override
@@ -56,7 +59,7 @@ public class CommandServiceImpl implements ECommandService {
Command cmd = commandManager.getCommand(id);
if (!cmd.isDefined()) {
cmd.define(name, description, category, parameters);
- cmd.setHandler(HandlerServiceImpl.getHandler(id));
+ cmd.setHandler(HandlerServiceImpl.getHandler(id, context));
}
return cmd;
}
diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java
index 7823f3e..5b4013f 100644
--- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java
+++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java
@@ -33,14 +33,16 @@ public class HandlerServiceHandler extends AbstractHandler {
private static final String FAILED_TO_FIND_HANDLER_DURING_EXECUTION = "Failed to find handler during execution"; //$NON-NLS-1$
protected String commandId;
+ private IEclipseContext context;
- public HandlerServiceHandler(String commandId) {
+ public HandlerServiceHandler(String commandId, IEclipseContext context) {
this.commandId = commandId;
+ this.context = context;
}
@Override
public boolean isEnabled() {
- ExecutionContexts contexts = HandlerServiceImpl.peek();
+ ExecutionContexts contexts = HandlerServiceImpl.peek(context);
// setEnabled(contexts);
IEclipseContext executionContext = contexts != null ? contexts.context : null; // getExecutionContext(contexts);
if (executionContext == null) {
@@ -82,7 +84,7 @@ public class HandlerServiceHandler extends AbstractHandler {
}
private IEclipseContext getStaticContext(IEclipseContext executionContext) {
- final ExecutionContexts pair = HandlerServiceImpl.peek();
+ final ExecutionContexts pair = HandlerServiceImpl.peek(context);
if (pair != null) {
if (pair.context != executionContext) {
// log this
@@ -105,7 +107,7 @@ public class HandlerServiceHandler extends AbstractHandler {
if (evalObj instanceof IEvaluationContext) {
return getExecutionContext(((IEvaluationContext) evalObj).getParent());
}
- final ExecutionContexts pair = HandlerServiceImpl.peek();
+ final ExecutionContexts pair = HandlerServiceImpl.peek(context);
if (pair != null) {
return pair.context;
}
@@ -114,7 +116,7 @@ public class HandlerServiceHandler extends AbstractHandler {
@Override
public boolean isHandled() {
- ExecutionContexts contexts = HandlerServiceImpl.peek();
+ ExecutionContexts contexts = HandlerServiceImpl.peek(context);
if (contexts != null) {
Object handler = HandlerServiceImpl.lookUpHandler(contexts.context, commandId);
if (handler instanceof IHandler) {
diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java
index f174476..f763a1e 100644
--- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java
+++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java
@@ -40,7 +40,7 @@ public class HandlerServiceImpl implements EHandlerService {
/**
* The static context key under which a command 'trigger' from legacy code is stored during
* calls to {@link #executeHandler(ParameterizedCommand, IEclipseContext)}
- *
+ *
* @see IEclipseContext
* @see HandlerServiceImpl#executeHandler(ParameterizedCommand, IEclipseContext)
*/
@@ -53,18 +53,18 @@ public class HandlerServiceImpl implements EHandlerService {
public final static String STATIC_CONTEXT = "HandlerServiceImpl.staticContext"; //$NON-NLS-1$
public final static String HANDLER_EXCEPTION = "HandlerServiceImpl.exception"; //$NON-NLS-1$
- private static LinkedList<ExecutionContexts> contextStack = new LinkedList<ExecutionContexts>();
-
public static ContextFunction handlerGenerator = null;
- public static IHandler getHandler(String commandId) {
+ private static LinkedList<ExecutionContexts> DEFAULT_STACKLIST = new LinkedList<HandlerServiceImpl.ExecutionContexts>();
+
+ public static IHandler getHandler(String commandId, IEclipseContext context) {
if (handlerGenerator != null) {
return (IHandler) handlerGenerator.compute(null, commandId);
}
- return new HandlerServiceHandler(commandId);
+ return new HandlerServiceHandler(commandId, context);
}
- static class ExecutionContexts {
+ public static class ExecutionContexts {
public IEclipseContext context;
public IEclipseContext staticContext;
@@ -74,20 +74,23 @@ public class HandlerServiceImpl implements EHandlerService {
}
}
- static LinkedList<ExecutionContexts> getContextStack() {
- return contextStack;
+ static LinkedList<ExecutionContexts> getContextStack(IEclipseContext context) {
+ if (context == null) {
+ return DEFAULT_STACKLIST;
+ }
+ return (LinkedList<ExecutionContexts>) context.get("_handlerExecutionStack"); //$NON-NLS-1$
}
public static void push(IEclipseContext ctx, IEclipseContext staticCtx) {
- getContextStack().addFirst(new ExecutionContexts(ctx, staticCtx));
+ getContextStack(ctx).addFirst(new ExecutionContexts(ctx, staticCtx));
}
- public static ExecutionContexts pop() {
- return getContextStack().poll();
+ public static ExecutionContexts pop(IEclipseContext ctx) {
+ return getContextStack(ctx).poll();
}
- static ExecutionContexts peek() {
- return getContextStack().peek();
+ static ExecutionContexts peek(IEclipseContext ctx) {
+ return getContextStack(ctx).peek();
}
/**
@@ -102,7 +105,7 @@ public class HandlerServiceImpl implements EHandlerService {
/**
* Fill in a temporary static context for execution.
- *
+ *
* @param command
*/
@SuppressWarnings("rawtypes")
@@ -123,7 +126,7 @@ public class HandlerServiceImpl implements EHandlerService {
/**
* Convert the parameter's value according to it's type.
- *
+ *
* @param command
* @param parameterId
* @param value
@@ -176,10 +179,10 @@ public class HandlerServiceImpl implements EHandlerService {
push(executionContext, staticContext);
try {
Command cmd = command.getCommand();
- cmd.setEnabled(new ExpressionContext(peek().context));
+ cmd.setEnabled(new ExpressionContext(peek(executionContext).context));
return cmd.isEnabled();
} finally {
- pop();
+ pop(executionContext);
// executionContext.remove(STATIC_CONTEXT);
}
}
@@ -208,7 +211,7 @@ public class HandlerServiceImpl implements EHandlerService {
try {
// Command cmd = command.getCommand();
return command.executeWithChecks(staticContext.get(SWT_TRIGGER), new ExpressionContext(
- peek().context));
+ peek(executionContext).context));
} catch (ExecutionException e) {
staticContext.set(HANDLER_EXCEPTION, e);
} catch (NotDefinedException e) {
@@ -218,7 +221,7 @@ public class HandlerServiceImpl implements EHandlerService {
} catch (NotHandledException e) {
staticContext.set(HANDLER_EXCEPTION, e);
} finally {
- pop();
+ pop(executionContext);
// executionContext.remove(STATIC_CONTEXT);
}
return null;
diff --git a/bundles/org.eclipse.e4.ui.workbench/pom.xml b/bundles/org.eclipse.e4.ui.workbench/pom.xml
index 52f447c..1bdaaad 100644
--- a/bundles/org.eclipse.e4.ui.workbench/pom.xml
+++ b/bundles/org.eclipse.e4.ui.workbench/pom.xml
@@ -1,24 +1,34 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2014 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>eclipse.platform.ui</artifactId>
- <groupId>eclipse.platform.ui</groupId>
- <version>4.4.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench</artifactId>
- <version>1.2.2-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>RAP e4 target runtime build - UI Workbench</name>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>org.eclipse.e4.ui.workbench</artifactId>
+ <version>1.2.2-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>releng</artifactId>
+ <relativePath>../../releng/releng-target/pom.xml</relativePath>
+ <version>0.9.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <!-- to ensure that the feature lookup of the ui test works -->
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java
index 08a7ff7..69d8768 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java
@@ -26,6 +26,7 @@ import org.eclipse.core.commands.ParameterType;
import org.eclipse.core.commands.common.NotDefinedException;
import org.eclipse.e4.core.commands.ECommandService;
import org.eclipse.e4.core.commands.internal.HandlerServiceImpl;
+import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.ui.internal.workbench.Activator;
import org.eclipse.e4.ui.internal.workbench.Parameter;
@@ -66,6 +67,13 @@ public class CommandProcessingAddon {
private ICommandManagerListener cmListener;
+ private final IEclipseContext context;
+
+ @Inject
+ public CommandProcessingAddon(IEclipseContext context) {
+ this.context = context;
+ }
+
/**
* @param cmd
* @param modelService
@@ -158,7 +166,7 @@ public class CommandProcessingAddon {
final Command command = commandManagerEvent.getCommandManager().getCommand(
commandId);
if (command.getHandler() == null) {
- command.setHandler(HandlerServiceImpl.getHandler(commandId));
+ command.setHandler(HandlerServiceImpl.getHandler(commandId, context));
}
try {
MCategory categoryModel = findCategory(command.getCategory().getId());
@@ -247,7 +255,7 @@ public class CommandProcessingAddon {
/**
* Attempt to localize the provided key. Return the localized variant if found or the key itself
* otherwise.
- *
+ *
* @param key
* the possible key reference
* @param modelElement
diff --git a/demo/org.eclipse.rap.e4.demo/Application.e4xmi b/demo/org.eclipse.rap.e4.demo/Application.e4xmi
index 2ac2012..83a0d7b 100644
--- a/demo/org.eclipse.rap.e4.demo/Application.e4xmi
+++ b/demo/org.eclipse.rap.e4.demo/Application.e4xmi
@@ -6,23 +6,23 @@
<children xsi:type="basic:PartStack" xmi:id="_M-uNIKCAEeOCJ5u74o02rg" elementId="org.eclipse.rap.e4.demo.partstack.0" containerData="300">
<children xsi:type="basic:Part" xmi:id="_GwxdIKCAEeOCJ5u74o02rg" elementId="org.eclipse.rap.e4.demo.part.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.EventSamplePart" label="%part.label.1">
<toolbar xmi:id="_HHjAcOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.toolbar.1">
- <children xsi:type="menu:DirectToolItem" xmi:id="_Hh9EgOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.1" label="TB-Item" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
+ <children xsi:type="menu:DirectToolItem" xmi:id="_Hh9EgOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.1" label="%directtoolitem.label.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
</toolbar>
</children>
<children xsi:type="basic:Part" xmi:id="_rk6l0KhAEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.part.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.PreferenceSamplePart" label="%part.label.2">
<menus xmi:id="_EIg8IOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.menu.2">
<tags>ViewMenu</tags>
- <children xsi:type="menu:DirectMenuItem" xmi:id="_HAt4UOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.1" label="Hello World" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
+ <children xsi:type="menu:DirectMenuItem" xmi:id="_HAt4UOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.1" label="%directmenuitem.label.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
</menus>
</children>
<children xsi:type="basic:Part" xmi:id="_JBUKsKhHEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.part.3" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.NLSSamplePart" label="%part.label.3">
<menus xmi:id="_4EurEOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.menu.3">
<tags>ViewMenu</tags>
- <children xsi:type="menu:DirectMenuItem" xmi:id="_4nG_YOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.2" label="Hello extra" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
+ <children xsi:type="menu:DirectMenuItem" xmi:id="_4nG_YOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.2" label="%directmenuitem.label.3" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
</menus>
<toolbar xmi:id="_6O4mwOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.toolbar.2">
<tags>ContentArea</tags>
- <children xsi:type="menu:DirectToolItem" xmi:id="_7pm4UOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.2" label="Hello World" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
+ <children xsi:type="menu:DirectToolItem" xmi:id="_7pm4UOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.2" label="%directtoolitem.label.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
</toolbar>
</children>
</children>
@@ -30,6 +30,7 @@
<mainMenu xmi:id="_wk6tQKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.menu.0">
<children xsi:type="menu:Menu" xmi:id="_xXHmQKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.menu.1" label="%menu.label.1">
<children xsi:type="menu:DirectMenuItem" xmi:id="_y5diwKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.directmenuitem.0" label="%directmenuitem.label.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/>
+ <children xsi:type="menu:HandledMenuItem" xmi:id="_gD30kKJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.handledmenuitem.0" label="%handledmenuitem.label.1" command="_Zs-j8KJDEeSqSpaGLeFO-g"/>
</children>
</mainMenu>
<trimBars xmi:id="_svgAANdbEeOAKaBhrzDgEg" elementId="org.eclipse.rap.e4.demo.trimbar.0">
@@ -38,10 +39,12 @@
</children>
</trimBars>
</children>
+ <handlers xmi:id="_bbwZ8KJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.handler.0" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler" command="_Zs-j8KJDEeSqSpaGLeFO-g"/>
<rootContext xmi:id="_-j-tkKBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
<children xmi:id="_-j-tkaBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
<children xmi:id="_-j-tkqBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
</rootContext>
+ <commands xmi:id="_Zs-j8KJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.command.0" commandName="%command.commandname.1"/>
<addons xmi:id="_-j-GgqBNEeODEs7-bWqIxA" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
<addons xmi:id="_-j-Gg6BNEeODEs7-bWqIxA" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
<addons xmi:id="_-j-GhKBNEeODEs7-bWqIxA" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
diff --git a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties
index c5c23cf..ab48e42 100644
--- a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties
+++ b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties
@@ -7,4 +7,11 @@ directmenuitem.label.1 = Hello World
NLSSamplePart_currentLangLabel = Current Language:
NLSSamplePart_updateLangLabel = New language:
-NLSSamplePart_updateLangButton = Apply \ No newline at end of file
+NLSSamplePart_updateLangButton = Apply
+
+directtoolitem.label.1 = TB-Item
+directmenuitem.label.2 = Hello World
+directmenuitem.label.3 = Hello extra
+directtoolitem.label.2 = Hello World
+handledmenuitem.label.1 = Hello World Command
+command.commandname.1 = Hello World Command
diff --git a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties
index 6b7cfd6..c729f8b 100644
--- a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties
+++ b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties
@@ -7,4 +7,11 @@ directmenuitem.label.1 = Hallo Welt
NLSSamplePart_currentLangLabel = Aktuelle Sprache:
NLSSamplePart_updateLangLabel = Neue Sprache:
-NLSSamplePart_updateLangButton = Anwenden \ No newline at end of file
+NLSSamplePart_updateLangButton = Anwenden
+
+directtoolitem.label.1 = TB-Element
+directmenuitem.label.2 = Hallo Welt
+directmenuitem.label.3 = Hallo Extra
+directtoolitem.label.2 = Hallo Welt
+handledmenuitem.label.1 = Hallo Welt Kommando
+command.commandname.1 = Hallo Welt Kommando
diff --git a/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch b/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch
index 2ef98cb..1d762c7 100644
--- a/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch
+++ b/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch
@@ -34,9 +34,9 @@
<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.rap.e4.demo@default:default,org.eclipse.rap.e4@default:default"/>
+<stringAttribute key="workspace_bundles" value="org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.rap.e4.demo@default:default,org.eclipse.rap.e4@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/>
</launchConfiguration>
diff --git a/features/org.eclipse.rap.e4.base.feature/feature.xml b/features/org.eclipse.rap.e4.base.feature/feature.xml
index 0abb46b..72ff8ed 100644
--- a/features/org.eclipse.rap.e4.base.feature/feature.xml
+++ b/features/org.eclipse.rap.e4.base.feature/feature.xml
@@ -192,13 +192,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.e4.core.commands"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.e4.ui.model.workbench"
download-size="0"
install-size="0"
@@ -366,11 +359,4 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.eclipse.e4.ui.workbench"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
</feature>
diff --git a/releng/releng-target/pom.xml b/releng/releng-target/pom.xml
index 1f9c0cf..58ed08f 100644
--- a/releng/releng-target/pom.xml
+++ b/releng/releng-target/pom.xml
@@ -26,7 +26,9 @@
</properties>
<modules>
+ <module>../../bundles/org.eclipse.e4.core.commands</module>
<module>../../bundles/org.eclipse.e4.ui.bindings</module>
+ <module>../../bundles/org.eclipse.e4.ui.workbench</module>
<module>../../bundles/org.eclipse.e4.ui.workbench.addons.swt</module>
<module>../../bundles/org.eclipse.e4.ui.workbench.renderers.swt</module>
<module>../../bundles/org.eclipse.e4.ui.workbench.swt</module>

Back to the top