diff options
22 files changed, 169 insertions, 30 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f2bd24b --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +**/bin/ +**/target/ +**._trace +**.log.properties +**git.properties +**/target/ +**/.metadata/ + +**/emf-gen/**/.gitignore +**/src-gen/**/.gitignore +**/git.properties +**/*.java._trace +**/*.log +**/*.log.properties + +**/bin/ +**/build/ +*.class +*.ctrl +**/Debug/ +.DS_Store +*.ear +*.war + +**/*.actionbin +**/*.blipbin +**/*.chartbin +**/*.cubebin +**/*.datatypebin +**/*.dtobin +**/*.entitybin +**/*.servicebin +**/*.tablebin +**/*.uibin +**/*.uisemanticbin +**/*.xtendbin +**/*.xtextbin + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml index 76b5227..7448d9c 100644 --- a/jenkins.build.config.xml +++ b/jenkins.build.config.xml @@ -16,7 +16,6 @@ <jenkins.build.dependencies> <jenkins.build.dependency>org.eclipse.osbp.authentication</jenkins.build.dependency> <jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency> - <jenkins.build.dependency>org.eclipse.osbp.i18n.common</jenkins.build.dependency> <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency> <jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency> <jenkins.build.dependency>org.eclipse.osbp.vaaclipse</jenkins.build.dependency> diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs new file mode 100644 index 0000000..0933f8c --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs @@ -0,0 +1,10 @@ +//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend +eclipse.preferences.version=1 +is_project_specific=true +outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true +outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false +outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml b/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml index 3027745..4e3ccee 100644 --- a/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml +++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml @@ -14,7 +14,8 @@ id="org.eclipse.osbp.vaaclipse.common.ecview.feature" label="%featureName" version="0.9.0.qualifier" - provider-name="%providerName"> + provider-name="%providerName" + plugin="org.eclipse.osbp.vaaclipse.common.ecview"> <description> %description diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.classpath b/org.eclipse.osbp.vaaclipse.common.ecview/.classpath new file mode 100644 index 0000000..cf36b56 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore b/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore new file mode 100644 index 0000000..92145bc --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/target/
\ No newline at end of file diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs new file mode 100644 index 0000000..e1173bc --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs @@ -0,0 +1,2 @@ +com.vaadin.integration.eclipse.previousCompileAction=widgetset +eclipse.preferences.version=1 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs new file mode 100644 index 0000000..4bffcea --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +target.runtime=org.jboss.runtime.jbpm5 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..a698e59 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 0000000..f29e940 --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=false +resolve.requirebundle=false diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs new file mode 100644 index 0000000..0933f8c --- /dev/null +++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs @@ -0,0 +1,10 @@ +//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend +eclipse.preferences.version=1 +is_project_specific=true +outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true +outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false +outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen +outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen +outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF index d12850e..81abff6 100644 --- a/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF +++ b/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF @@ -4,8 +4,7 @@ Bundle-Name: org.eclipse.osbp.vaaclipse.common.ecview Bundle-SymbolicName: org.eclipse.osbp.vaaclipse.common.ecview;singleton:=true Bundle-Vendor: Eclipse OSBP Bundle-Version: 0.9.0.qualifier -Require-Bundle: javax.annotation;bundle-version="[1.1.0,1.2.0)", - javax.inject;bundle-version="1.0.0", +Require-Bundle: javax.inject;bundle-version="1.0.0", org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)", org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)", org.eclipse.e4.core.services;bundle-version="1.2.1", @@ -20,8 +19,8 @@ Require-Bundle: javax.annotation;bundle-version="[1.1.0,1.2.0)", org.eclipse.emf.ecore.xmi Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.eclipse.osbp.vaaclipse.common.ecview;version="0.9.0";x-internal:=true -Import-Package: org.eclipse.core.runtime;version="3.4.0", - org.eclipse.osbp.i18n.common;version="0.9.0", +Import-Package: javax.annotation, + org.eclipse.core.runtime;version="3.4.0", org.eclipse.osbp.ui.api.metadata;version="0.9.0", org.eclipse.osbp.ui.api.user;version="0.9.0", org.eclipse.osbp.user;version="0.9.0", diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java index 5b5228f..37a0bb5 100644 --- a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java +++ b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java @@ -8,7 +8,7 @@ * Contributors: * Florian Pirchner - Initial implementation */ - package org.eclipse.osbp.vaaclipse.common.ecview; +package org.eclipse.osbp.vaaclipse.common.ecview; import java.util.ArrayList; import java.util.Collections; @@ -19,6 +19,10 @@ import javax.annotation.PreDestroy; import javax.inject.Inject; import org.eclipse.e4.core.services.events.IEventBroker; +import org.eclipse.e4.ui.model.application.MApplication; +import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective; +import org.eclipse.e4.ui.model.application.ui.basic.MWindow; +import org.eclipse.e4.ui.workbench.modeling.EModelService; import org.eclipse.emf.ecore.EObject; import org.eclipse.osbp.ecview.core.common.context.IViewContext; import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart; @@ -29,18 +33,24 @@ import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewContainer; import org.eclipse.osbp.vaaclipse.publicapi.events.IWidgetModelAssociations; import org.osgi.service.event.Event; import org.osgi.service.event.EventHandler; - -public class ECViewContainer implements IECViewContainer, EventHandler, - IWidgetModelAssociations { + +public class ECViewContainer implements IECViewContainer, EventHandler, IWidgetModelAssociations { + + private static final String ECVIEWS = "ecviews"; @Inject private IEventBroker eventBroker; @Inject + private EModelService modelService; + + @Inject + private MApplication mApp; + + @Inject private IWidgetModelAssociations masterAssociations; - private List<IViewEditpart> views = Collections - .synchronizedList(new ArrayList<IViewEditpart>()); + private List<IViewEditpart> views = Collections.synchronizedList(new ArrayList<IViewEditpart>()); @Override public List<IViewEditpart> getECViews() { @@ -49,16 +59,35 @@ public class ECViewContainer implements IECViewContainer, EventHandler, @Override public void handleEvent(Event event) { - ILifecycleEvent lifecycle = (ILifecycleEvent) event - .getProperty(IEventBroker.DATA); + ILifecycleEvent lifecycle = (ILifecycleEvent) event.getProperty(IEventBroker.DATA); if (lifecycle.getType().equals(ILifecycleEvent.CONTEXT_CREATED)) { IViewEditpart editpart = (IViewEditpart) lifecycle.getEditpart(); if (!views.contains(editpart)) { views.add(editpart); + + MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0)); + if (mPersp != null) { + @SuppressWarnings("unchecked") + List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS); + if (contexts == null) { + contexts = new ArrayList<>(); + mPersp.getTransientData().put(ECVIEWS, contexts); + } + contexts.add(editpart.getContext()); + } + } } else if (lifecycle.getType().equals(ILifecycleEvent.CONTEXT_DISPOSED)) { IViewEditpart editpart = (IViewEditpart) lifecycle.getEditpart(); views.remove(editpart); + MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0)); + if (mPersp != null) { + @SuppressWarnings("unchecked") + List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS); + if (contexts != null) { + contexts.remove(editpart.getContext()); + } + } } } @@ -80,8 +109,8 @@ public class ECViewContainer implements IECViewContainer, EventHandler, public EObject getElement(Object component) { synchronized (views) { for (IViewEditpart ep : views) { - IWidgetAssocationsService<Object, YElement> service = ep - .getContext().getService(IWidgetAssocationsService.ID); + IWidgetAssocationsService<Object, YElement> service = ep.getContext() + .getService(IWidgetAssocationsService.ID); EObject result = service.getModelElement(component); if (result != null) { return result; @@ -99,8 +128,8 @@ public class ECViewContainer implements IECViewContainer, EventHandler, } synchronized (views) { for (IViewEditpart ep : views) { - IWidgetAssocationsService<Object, YElement> service = ep - .getContext().getService(IWidgetAssocationsService.ID); + IWidgetAssocationsService<Object, YElement> service = ep.getContext() + .getService(IWidgetAssocationsService.ID); Object result = service.getWidget((YElement) element); if (result != null) { return result; @@ -123,4 +152,17 @@ public class ECViewContainer implements IECViewContainer, EventHandler, "Not allowed for a thirdparty assocation! Use the main assocation instance to register thirdparties."); } + @Override + public List<IViewContext> getECViews(MPerspective perspective) { + MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0)); + if (mPersp != null) { + @SuppressWarnings("unchecked") + List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS); + if (contexts != null) { + return Collections.unmodifiableList(contexts); + } + } + return Collections.emptyList(); + } + } diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java index 5547659..bc6e1e5 100644 --- a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java +++ b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java @@ -18,7 +18,6 @@ import javax.inject.Named; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.osbp.ecview.core.common.context.IViewContext; -import org.eclipse.osbp.i18n.common.OSI18nService; import org.eclipse.osbp.runtime.common.i18n.II18nService; import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService; import org.eclipse.osbp.ui.api.user.IUser; @@ -49,7 +48,6 @@ public class ECViewSessionHelper implements IECViewSessionHelper { // register services to be used Map<String, Object> services = new HashMap<String, Object>(); services.put(org.eclipse.osbp.runtime.common.event.IEventBroker.class.getName(), new E4EventBrokerAdapter(eventBroker)); - services.put(II18nService.class.getName(), new OSI18nService(dslMetadataService, i18nService)); services.put(IUser.class.getName(), user); services.put(IViewContext.PARAM_THIRDPARTY_SERVICE_PROVIDER, new ECViewToE4ServiceBridge(context)); properties.put(IViewContext.PARAM_SERVICES, services); @@ -63,22 +63,17 @@ <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> - <filters> - <filter> - <type>eclipse-plugin</type> - <id>org.apache.aries.transaction.manager</id> - <restrictTo> - <!-- use a range that does not exist, we can not mix removeall and versionRange --> - <versionRange>[0.5.0,0.5.1)</versionRange> - </restrictTo> - </filter> - </filters> <resolver>p2</resolver> <pomDependencies>consider</pomDependencies> <environments> <environment> <os>win32</os> <ws>win32</ws> + <arch>x86</arch> + </environment> + <environment> + <os>win32</os> + <ws>win32</ws> <arch>x86_64</arch> </environment> <environment> |