adjusted legal info, refactoring
diff --git a/.artifactVersions b/.artifactVersions
deleted file mode 100644
index 9a17bde..0000000
--- a/.artifactVersions
+++ /dev/null
@@ -1,4 +0,0 @@
-version=0.9.1-SNAPSHOT
-relengVersion=0.12.5-SNAPSHOT
-relengP2Version=0.12.5-SNAPSHOT
-relengGroupId=org.lunifera.releng.maven
\ No newline at end of file
diff --git a/.depVersions b/.depVersions
deleted file mode 100644
index 90b0f6b..0000000
--- a/.depVersions
+++ /dev/null
@@ -1,14 +0,0 @@
-org.eclipse.xtend;min=2.7.3;max=2.8.0
-org.eclipse.xtext;min=2.7.3;max=2.8.0
-org.semanticsoft;min=2.7.3;max=3.0.0
-org.lunifera.dependencies.feature.assert-utilities;min=1.2.2.2;max=1.2.3
-org.lunifera.dependencies.feature.jetty.websockets;min=8.1.15;max=8.1.16
-org.lunifera.dependencies.feature.atmosphere;min=2.1.2.vaadin6;max=2.1.3
-org.lunifera.dependencies.feature.transaction;min=0.3.1;max=0.3.2
-org.lunifera.dependencies.feature.vaadin;min=7.3.8;max=7.3.9
-org.lunifera.dsl;min=0.9.0;max=0.10.0
-org.lunifera;min=0.9.0;max=0.10.0
-com.google.guava;min=10.0.0;max=19.0.0
-com.vaadin.external.atmosphere.runtime;min=2.1.2;max=2.1.3
-com.vaadin.external.org.slf4j;min=1.6.1;max=1.6.2
-com.vaadin;min=7.3.8;max=7.3.9
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 3260e4f..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,204 +0,0 @@
-Eclipse Public License - v 1.0
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
-LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
-CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-"Contribution" means:
-
-a) in the case of the initial Contributor, the initial code and documentation
- distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
- i) changes to the Program, and
- ii) additions to the Program;
-
- where such changes and/or additions to the Program originate from and are
- distributed by that particular Contributor. A Contribution 'originates'
- from a Contributor if it was added to the Program by such Contributor
- itself or anyone acting on such Contributor's behalf. Contributions do not
- include additions to the Program which: (i) are separate modules of
- software distributed in conjunction with the Program under their own
- license agreement, and (ii) are not derivative works of the Program.
-
-"Contributor" means any person or entity that distributes the Program.
-
-"Licensed Patents" mean patent claims licensable by a Contributor which are
-necessarily infringed by the use or sale of its Contribution alone or when
-combined with the Program.
-
-"Program" means the Contributions distributed in accordance with this
-Agreement.
-
-"Recipient" means anyone who receives the Program under this Agreement,
-including all Contributors.
-
-2. GRANT OF RIGHTS
- a) Subject to the terms of this Agreement, each Contributor hereby grants
- Recipient a non-exclusive, worldwide, royalty-free copyright license to
- reproduce, prepare derivative works of, publicly display, publicly
- perform, distribute and sublicense the Contribution of such Contributor,
- if any, and such derivative works, in source code and object code form.
- b) Subject to the terms of this Agreement, each Contributor hereby grants
- Recipient a non-exclusive, worldwide, royalty-free patent license under
- Licensed Patents to make, use, sell, offer to sell, import and otherwise
- transfer the Contribution of such Contributor, if any, in source code and
- object code form. This patent license shall apply to the combination of
- the Contribution and the Program if, at the time the Contribution is
- added by the Contributor, such addition of the Contribution causes such
- combination to be covered by the Licensed Patents. The patent license
- shall not apply to any other combinations which include the Contribution.
- No hardware per se is licensed hereunder.
- c) Recipient understands that although each Contributor grants the licenses
- to its Contributions set forth herein, no assurances are provided by any
- Contributor that the Program does not infringe the patent or other
- intellectual property rights of any other entity. Each Contributor
- disclaims any liability to Recipient for claims brought by any other
- entity based on infringement of intellectual property rights or
- otherwise. As a condition to exercising the rights and licenses granted
- hereunder, each Recipient hereby assumes sole responsibility to secure
- any other intellectual property rights needed, if any. For example, if a
- third party patent license is required to allow Recipient to distribute
- the Program, it is Recipient's responsibility to acquire that license
- before distributing the Program.
- d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form under
-its own license agreement, provided that:
-
- a) it complies with the terms and conditions of this Agreement; and
- b) its license agreement:
- i) effectively disclaims on behalf of all Contributors all warranties
- and conditions, express and implied, including warranties or
- conditions of title and non-infringement, and implied warranties or
- conditions of merchantability and fitness for a particular purpose;
- ii) effectively excludes on behalf of all Contributors all liability for
- damages, including direct, indirect, special, incidental and
- consequential damages, such as lost profits;
- iii) states that any provisions which differ from this Agreement are
- offered by that Contributor alone and not by any other party; and
- iv) states that source code for the Program is available from such
- Contributor, and informs licensees how to obtain it in a reasonable
- manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
- a) it must be made available under this Agreement; and
- b) a copy of this Agreement must be included with each copy of the Program.
- Contributors may not remove or alter any copyright notices contained
- within the Program.
-
-Each Contributor must identify itself as the originator of its Contribution,
-if
-any, in a manner that reasonably allows subsequent Recipients to identify the
-originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with
-respect to end users, business partners and the like. While this license is
-intended to facilitate the commercial use of the Program, the Contributor who
-includes the Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors. Therefore,
-if a Contributor includes the Program in a commercial product offering, such
-Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
-every other Contributor ("Indemnified Contributor") against any losses,
-damages and costs (collectively "Losses") arising from claims, lawsuits and
-other legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such Commercial
-Contributor in connection with its distribution of the Program in a commercial
-product offering. The obligations in this section do not apply to any claims
-or Losses relating to any actual or alleged intellectual property
-infringement. In order to qualify, an Indemnified Contributor must:
-a) promptly notify the Commercial Contributor in writing of such claim, and
-b) allow the Commercial Contributor to control, and cooperate with the
-Commercial Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any such claim at
-its own expense.
-
-For example, a Contributor might include the Program in a commercial product
-offering, Product X. That Contributor is then a Commercial Contributor. If
-that Commercial Contributor then makes performance claims, or offers
-warranties related to Product X, those performance claims and warranties are
-such Commercial Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the other
-Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
-IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
-Recipient is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to the
-risks and costs of program errors, compliance with applicable laws, damage to
-or loss of data, programs or equipment, and unavailability or interruption of
-operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
-CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
-LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of the
-remainder of the terms of this Agreement, and without further action by the
-parties hereto, such provision shall be reformed to the minimum extent
-necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including a
-cross-claim or counterclaim in a lawsuit) alleging that the Program itself
-(excluding combinations of the Program with other software or hardware)
-infringes such Recipient's patent(s), then such Recipient's rights granted
-under Section 2(b) shall terminate as of the date such litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it fails to
-comply with any of the material terms or conditions of this Agreement and does
-not cure such failure in a reasonable period of time after becoming aware of
-such noncompliance. If all Recipient's rights under this Agreement terminate,
-Recipient agrees to cease use and distribution of the Program as soon as
-reasonably practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall continue
-and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement, but in
-order to avoid inconsistency the Agreement is copyrighted and may only be
-modified in the following manner. The Agreement Steward reserves the right to
-publish new versions (including revisions) of this Agreement from time to
-time. No one other than the Agreement Steward has the right to modify this
-Agreement. The Eclipse Foundation is the initial Agreement Steward. The
-Eclipse Foundation may assign the responsibility to serve as the Agreement
-Steward to a suitable separate entity. Each new version of the Agreement will
-be given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version of the
-Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly
-stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
-licenses to the intellectual property of any Contributor under this Agreement,
-whether expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the
-intellectual property laws of the United States of America. No party to this
-Agreement will bring a legal action under this Agreement more than one year
-after the cause of action arose. Each party waives its rights to a jury trial in
-any resulting litigation.
-
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 1be5eda..eaba82a 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -18,6 +18,7 @@
<!-- DO NOT EDIT BELOW THIS LINE -->
<jenkins.build.dependencies>
<jenkins.build.dependency>org.eclipse.osbp.authentication</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.bpm.api</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ecview.addons</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency>
diff --git a/org.eclipse.osbp.vaaclipse.addons.app/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.addons.app/META-INF/MANIFEST.MF
index 5766330..c3b2e24 100644
--- a/org.eclipse.osbp.vaaclipse.addons.app/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.vaaclipse.addons.app/META-INF/MANIFEST.MF
@@ -34,7 +34,8 @@
org.jsoup;bundle-version="1.7.2",
org.slf4j.api;bundle-version="1.7.2",
org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.ui.api;bundle-version="0.9.0"
+ org.eclipse.osbp.ui.api;bundle-version="0.9.0",
+ org.eclipse.osbp.bpm.api;bundle-version="0.9.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.osbp.vaaclipse.addons.app;x-internal:=true;version="0.9.0",
diff --git a/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/VaadinE4Application.java b/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/VaadinE4Application.java
index 2b91cb4..0d79590 100644
--- a/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/VaadinE4Application.java
+++ b/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/VaadinE4Application.java
@@ -46,7 +46,6 @@
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.service.http.HttpService;
-import org.slf4j.LoggerFactory;
import com.vaadin.ui.themes.Reindeer;
@@ -314,7 +313,7 @@
appHeaderIcon = "platform:/plugin/com.vaadin.themes/VAADIN/themes/reindeer/favicon.ico";
appAuthProvider = readClassProperty("applicationAuthenticationProvider");
-
+
String productionMode = appContext
.getBrandingProperty("vaadin.productionMode");
String disableXsrfProtection = appContext
@@ -324,7 +323,7 @@
if ("true".equals(disableXsrfProtection)) {
System.out.println("Warning: XSRF protection is OFF!");
}
-
+
final BundleContext bundleContext = Activator.getDefault().getBundle()
.getBundleContext();
ServiceReference<?> httpServiceRef = bundleContext
diff --git a/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/webapp/VaadinUI.java b/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/webapp/VaadinUI.java
index 71156e2..369cba4 100644
--- a/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/webapp/VaadinUI.java
+++ b/org.eclipse.osbp.vaaclipse.addons.app/src/org/eclipse/osbp/vaaclipse/addons/app/webapp/VaadinUI.java
@@ -18,18 +18,18 @@
import java.lang.management.RuntimeMXBean;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.ArrayList;
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Hashtable;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.UUID;
import javax.servlet.http.HttpSession;
-import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.RegistryFactory;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
@@ -37,6 +37,7 @@
import org.eclipse.e4.core.di.extensions.EventUtils;
import org.eclipse.e4.core.services.contributions.IContributionFactory;
import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.core.services.log.Logger;
import org.eclipse.e4.core.services.translation.TranslationProviderFactory;
import org.eclipse.e4.core.services.translation.TranslationService;
import org.eclipse.e4.ui.di.UISynchronize;
@@ -53,11 +54,14 @@
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.MApplicationFactory;
import org.eclipse.e4.ui.model.application.commands.impl.CommandsPackageImpl;
+import org.eclipse.e4.ui.model.application.impl.ApplicationFactoryImpl;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.advanced.MPlaceholder;
import org.eclipse.e4.ui.model.application.ui.advanced.impl.AdvancedPackageImpl;
+import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow;
+import org.eclipse.e4.ui.model.application.ui.basic.impl.BasicFactoryImpl;
import org.eclipse.e4.ui.model.application.ui.basic.impl.BasicPackageImpl;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
import org.eclipse.e4.ui.model.application.ui.menu.impl.MenuPackageImpl;
@@ -79,8 +83,10 @@
import org.eclipse.osbp.runtime.common.session.ISession;
import org.eclipse.osbp.runtime.common.session.ISessionProvider;
import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables;
+import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.perspective.IPerspectiveProvider;
import org.eclipse.osbp.ui.api.user.IUser;
+import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
import org.eclipse.osbp.vaaclipse.addons.app.VaadinE4Application;
import org.eclipse.osbp.vaaclipse.addons.app.converter.VaaclipseConverterFactory;
import org.eclipse.osbp.vaaclipse.addons.app.servlet.VaadinExecutorServiceImpl;
@@ -88,10 +94,12 @@
import org.eclipse.osbp.vaaclipse.addons.common.api.resource.ICustomizedModelResourceHandler;
import org.eclipse.osbp.vaaclipse.addons.common.api.resource.ISystemuserModelHandler;
import org.eclipse.osbp.vaaclipse.addons.common.resource.LayoutChangedObserver;
+import org.eclipse.osbp.vaaclipse.addons.common.resource.VaaclipseModelAssembler;
import org.eclipse.osbp.vaaclipse.api.VaadinExecutorService;
import org.eclipse.osbp.vaaclipse.publicapi.authentication.AuthenticationConstants;
import org.eclipse.osbp.vaaclipse.publicapi.debug.IOwningWorkspaceAccess;
import org.eclipse.osbp.vaaclipse.publicapi.events.IWidgetModelAssociations;
+import org.eclipse.osbp.vaaclipse.publicapi.model.Tags;
import org.eclipse.osbp.vaaclipse.publicapi.theme.Theme;
import org.eclipse.osbp.vaaclipse.publicapi.theme.ThemeConstants;
import org.eclipse.osbp.vaaclipse.publicapi.theme.ThemeManager;
@@ -109,7 +117,6 @@
import com.vaadin.ui.UI;
import com.vaadin.ui.UIDetachedException;
import com.vaadin.ui.VerticalLayout;
-import org.eclipse.e4.core.services.log.Logger;
/**
* The Class VaadinUI.
@@ -185,18 +192,18 @@
/** The temp user store. */
private static Map<String, Object[]> tempUserStore = new HashMap<String, Object[]>();
- private static List<String> addOns = new ArrayList<String>() {
+ private static Map<String, String> addOns = new LinkedHashMap<String, String>() {
private static final long serialVersionUID = 1L;
{
- add("bundleclass://org.eclipse.osbp.vaaclipse.addons.softwarefactory/org.eclipse.osbp.vaaclipse.addons.softwarefactory.service.OSBPServiceAddon");
- add("bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon");
- add("bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon");
- add("bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon");
- add("bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon");
- add("bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon");
- add("bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon");
- add("bundleclass://org.eclipse.osbp.vaaclipse.emf.addon/org.eclipse.osbp.vaaclipse.addon.EMFAddon");
- add("bundleclass://org.eclipse.osbp.vaaclipse.addons.keybinding/org.eclipse.osbp.vaaclipse.addons.keybinding.KeyBindingServiceAddon");
+ put("OSBPServiceAddon", "bundleclass://org.eclipse.osbp.vaaclipse.addons.softwarefactory/org.eclipse.osbp.vaaclipse.addons.softwarefactory.service.OSBPServiceAddon");
+ put("CommandServiceAddon", "bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon");
+ put("ContextServiceAddon", "bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon");
+ put("BindingServiceAddon", "bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon");
+ put("CommandProcessingAddon", "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon");
+ put("HandlerProcessingAddon", "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon");
+ put("ContextProcessingAddon", "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon");
+ put("EMFAddon", "bundleclass://org.eclipse.osbp.vaaclipse.emf.addon/org.eclipse.osbp.vaaclipse.addon.EMFAddon");
+ put("KeyBindingServiceAddon", "bundleclass://org.eclipse.osbp.vaaclipse.addons.keybinding/org.eclipse.osbp.vaaclipse.addons.keybinding.KeyBindingServiceAddon");
}
};
@@ -337,9 +344,12 @@
// if there is a default perspective set in user_account
// - load it
IPerspectiveProvider perspectiveProvider = appContext.get(IPerspectiveProvider.class);
- String perspectiveId = user.getPerspective();
- if (perspectiveId != null && !perspectiveId.isEmpty()) {
- perspectiveProvider.openPerspective(perspectiveId);
+ IDSLMetadataService dslMetadataService = appContext.get(IDSLMetadataService.class);
+ IUserAccessService userAccessService = appContext.get(IUserAccessService.class);
+ if (user.getPerspective() != null &&
+ !user.getPerspective().isEmpty() &&
+ dslMetadataService.isPerspectiveAuthorized(user.getPerspective(), userAccessService)) {
+ perspectiveProvider.openPerspective(user.getPerspective());
}
}
}
@@ -554,10 +564,10 @@
// }
// Create pre-defined addOns and discard the model
- for (String contributionUri : addOns) {
+ for (Entry<String, String> contribution : addOns.entrySet()) {
MAddon addon = MApplicationFactory.INSTANCE.createAddon();
- addon.setContributionURI(contributionUri);
- addon.setElementId(UUID.randomUUID().toString());
+ addon.setContributionURI(contribution.getValue());
+ addon.setElementId(contribution.getKey());
Object obj = factory.create(addon.getContributionURI(), appContext);
addon.setObject(obj);
}
@@ -635,7 +645,6 @@
@SuppressWarnings({ "unused", "deprecation" })
private MApplication loadApplicationModel(IApplicationContext appContext, IEclipseContext eclipseContext) {
logger.debug("VaadinE4Application.loadApplicationModel()");
- MApplication theApp = null;
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
@@ -646,11 +655,12 @@
instanceLocation = VaadinE4Application.getInstance().getInstanceLocation();
- String appModelPath = getArgValue(E4Workbench.XMI_URI_ARG, appContext, false);
- Assert.isNotNull(appModelPath, E4Workbench.XMI_URI_ARG + " argument missing"); //$NON-NLS-1$
- final URI initialWorkbenchDefinitionInstance = URI.createPlatformPluginURI(appModelPath, true);
+// String appModelPath = getArgValue(E4Workbench.XMI_URI_ARG, appContext, false);
+// Assert.isNotNull(appModelPath, E4Workbench.XMI_URI_ARG + " argument missing"); //$NON-NLS-1$
+// final URI initialWorkbenchDefinitionInstance = URI.createPlatformPluginURI(appModelPath, true);
- eclipseContext.set(E4Workbench.INITIAL_WORKBENCH_MODEL_URI, initialWorkbenchDefinitionInstance);
+// eclipseContext.set(E4Workbench.INITIAL_WORKBENCH_MODEL_URI, initialWorkbenchDefinitionInstance);
+ eclipseContext.set(E4Workbench.INITIAL_WORKBENCH_MODEL_URI, null);
eclipseContext.set(E4Workbench.INSTANCE_LOCATION, instanceLocation);
// in debug mode, this value may be used to access the launching
@@ -684,10 +694,10 @@
registerResourceSet(eclipseContext);
- IContributionFactory factory = eclipseContext.get(IContributionFactory.class);
+ IContributionFactory contributionFactory = eclipseContext.get(IContributionFactory.class);
// create the customized model service
- ISystemuserModelHandler service = (ISystemuserModelHandler) factory.create(CUSTOMIZED_MODEL_SERVICE,
+ ISystemuserModelHandler service = (ISystemuserModelHandler) contributionFactory.create(CUSTOMIZED_MODEL_SERVICE,
eclipseContext);
eclipseContext.set(ISystemuserModelHandler.class, service);
@@ -697,13 +707,28 @@
resourceHandler = DEFAULT_RESOURCE_HANDLER;
}
- modelResourceHandler = (ICustomizedModelResourceHandler) factory.create(resourceHandler, eclipseContext);
+ modelResourceHandler = (ICustomizedModelResourceHandler) contributionFactory.create(resourceHandler, eclipseContext);
eclipseContext.set(IModelResourceHandler.class, modelResourceHandler);
eclipseContext.set(ICustomizedModelResourceHandler.class, modelResourceHandler);
- Resource resource = modelResourceHandler.loadMostRecentModel();
- theApp = (MApplication) resource.getContents().get(0);
-
+// Resource resource = modelResourceHandler.loadMostRecentModel();
+// if(resource != null) {
+// return (MApplication) resource.getContents().get(0);
+// }
+ // no resource found - create a default
+ eclipseContext.set(E4Workbench.NO_SAVED_MODEL_FOUND, Boolean.TRUE);
+ MApplication theApp = ApplicationFactoryImpl.eINSTANCE.createApplication();
+ theApp.setElementId(appContext.getBrandingName());
+ MTrimmedWindow trimmedWindow = BasicFactoryImpl.eINSTANCE.createTrimmedWindow();
+ trimmedWindow.setToBeRendered(true);
+ trimmedWindow.setVisible(true);
+ trimmedWindow.getTags().add(Tags.MAIN_WINDOW);
+ trimmedWindow.setLabel(appContext.getBrandingName());
+ theApp.getChildren().add(trimmedWindow);
+ eclipseContext.set(MApplication.class, theApp);
+ VaaclipseModelAssembler contribProcessor = ContextInjectionFactory
+ .make(VaaclipseModelAssembler.class, eclipseContext);
+ contribProcessor.processModel(true);
return theApp;
}
diff --git a/org.eclipse.osbp.vaaclipse.addons.feature/feature.xml b/org.eclipse.osbp.vaaclipse.addons.feature/feature.xml
index f208a20..8c99074 100644
--- a/org.eclipse.osbp.vaaclipse.addons.feature/feature.xml
+++ b/org.eclipse.osbp.vaaclipse.addons.feature/feature.xml
@@ -16,7 +16,8 @@
id="org.eclipse.osbp.vaaclipse.addons.feature"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.license">
<description>
%description