catch up with development Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/META-INF/MANIFEST.MF index 890a208..20ed1ef 100644 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/META-INF/MANIFEST.MF +++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/META-INF/MANIFEST.MF
@@ -107,8 +107,7 @@ org.eclipse.osbp.vaaclipse.addons.softwarefactory.perspective;version="0.9.0", org.eclipse.osbp.vaaclipse.addons.softwarefactory.service;version="0.9.0", org.eclipse.osbp.vaaclipse.addons.softwarefactory.systemsettings;version="0.9.9", - org.eclipse.osbp.vaaclipse.addons.softwarefactory.userfilter;version="0.9.0", - org.eclipse.osbp.vaaclipse.addons.softwarefactory.welcome;version="0.9.0" + org.eclipse.osbp.vaaclipse.addons.softwarefactory.userfilter;version="0.9.0" Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.osbp.vaaclipse.addons.softwarefactory.Activator Service-Component: OSGI-INF/*.xml
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java index ce41dc1..947a154 100644 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java +++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java
@@ -87,12 +87,10 @@ import org.eclipse.osbp.runtime.common.event.SelectionStore; import org.eclipse.osbp.runtime.common.filter.IDTOHistorizedService; import org.eclipse.osbp.runtime.common.filter.IDTOService; -import org.eclipse.osbp.runtime.common.filter.IDTOService; import org.eclipse.osbp.runtime.common.validation.IStatus; import org.eclipse.osbp.runtime.common.validation.ValidationKind; import org.eclipse.osbp.runtime.web.vaadin.components.dialogs.AcceptDeleteDialog; import org.eclipse.osbp.runtime.web.vaadin.components.dialogs.AcceptLoosingDataDialog; -import org.eclipse.osbp.runtime.web.vaadin.components.dialogs.AcceptSaveDialog; import org.eclipse.osbp.runtime.web.vaadin.components.dialogs.QueryDeleteDialog; import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables; import org.eclipse.osbp.ui.api.contextfunction.IViewEmbeddedProvider; @@ -505,9 +503,13 @@ @Override public void validationChanged(IFieldValidationManager.Event event) { // add them to the Vaaclipse status manager - IStatusScope scope = statusManager.getScopeFor(mPart); - scope.modifyStatus(event.getOldStatus(), event.getNewStatus()); - applyValidationResult(); + if(mPart != null) { + IStatusScope scope = statusManager.getScopeFor(mPart); + scope.modifyStatus(event.getOldStatus(), event.getNewStatus()); + applyValidationResult(); + } else { + viewContext.setBean(BEAN_SLOT__VALIDATION_ERROR, Boolean.FALSE); + } } /** @@ -515,8 +517,9 @@ */ protected void applyValidationResult() { // set the validation result - viewContext.setBean(BEAN_SLOT__VALIDATION_ERROR, Boolean.FALSE); - log.debug("applyValidationResult {}", ((Boolean)viewContext.getBean(BEAN_SLOT__VALIDATION_ERROR)).booleanValue()); + boolean validationError = ((Boolean)viewContext.getBean(BEAN_SLOT__VALIDATION_ERROR)).booleanValue(); + viewContext.setBean(BEAN_SLOT__VALIDATION_ERROR, validationError); + log.debug("applyValidationResult {}", validationError); } @IsValid @@ -865,7 +868,8 @@ public void afterBind(IContext context) { for(UiBeanSlot slot : dialogModel.getUiView().getBeanSlots()) { if(dslMetadataService.hasSupertype(slot.getJvmType(), IStateMachineParticipant.class)) { - ((IStateMachineParticipant)context.getBeanSlot(slot.getName()).getValue()).init(); + IStateMachine sm = ((IStateMachineParticipant)context.getBeanSlot(slot.getName()).getValue()).getStatemachine(); + ((IStateMachineParticipant)context.getBeanSlot(slot.getName()).getValue()).init( sm.getHostName(), sm.getRemotePort()); } if(dslMetadataService.hasSupertype(slot.getJvmType(), IDataProvider.class)) { for(UiBeanSlot innerslot : dialogModel.getUiView().getBeanSlots()) { @@ -1424,12 +1428,13 @@ * Creates the embedded toolbar for embedded dialogs. */ private void createEmbeddedToolbar() { - taskButtons = new ArrayList<Button>(); + taskButtons = new ArrayList<>(); HorizontalLayout tools = new HorizontalLayout(); tools.addStyleName("os-embedded-toolbar"); tools.setSpacing(false); Button b = new Button(null, new Button.ClickListener() { + @Override public void buttonClick(ClickEvent event) { DTO savedDto = (DTO) viewContext.getBean(IViewContext.MAIN_BEAN_SLOT); if(validate(savedDto)) { @@ -1510,6 +1515,7 @@ return dslMetadataService; } + @Override public IThemeResourceService getThemeResourceService() { return themeResourceService; }
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/PerspectiveProvider.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/PerspectiveProvider.java index b661cc2..59c0d8a 100644 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/PerspectiveProvider.java +++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/PerspectiveProvider.java
@@ -77,6 +77,7 @@ import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent.EventDispatcherCommand; import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent.EventDispatcherDataTag; import org.eclipse.osbp.runtime.common.event.IEventDispatcher; +import org.eclipse.osbp.ui.api.contextfunction.IDashboardProvider; import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService; import org.eclipse.osbp.ui.api.organization.IOrganizationViewPartProvider; import org.eclipse.osbp.ui.api.perspective.IPerspectiveProvider; @@ -87,7 +88,6 @@ import org.eclipse.osbp.utils.vaadin.bpmn.BpmnView; import org.eclipse.osbp.utils.vaadin.saiku.SaikuView; import org.eclipse.osbp.vaaclipse.addons.softwarefactory.maintoolbar.IMainToolbarProvider; -import org.eclipse.osbp.vaaclipse.addons.softwarefactory.welcome.WelcomeView; import org.eclipse.osbp.vaaclipse.publicapi.authentication.AuthenticationConstants; import org.eclipse.osbp.vaadin.emf.api.IModelingContext; import org.eclipse.osbp.xtext.action.ActionDSLPackage; @@ -130,7 +130,6 @@ import org.eclipse.osbp.xtext.perspective.PerspectiveTable; import org.eclipse.osbp.xtext.perspective.PerspectiveTopology; import org.eclipse.osbp.xtext.perspective.PerspectiveView; -import org.eclipse.osbp.xtext.perspective.PerspectiveWelcome; import org.eclipse.osbp.xtext.reportdsl.Report; import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage; import org.eclipse.osbp.xtext.reportdsl.ReportPackage; @@ -146,6 +145,7 @@ import org.osgi.service.event.EventHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import com.vaadin.server.Page; /** @@ -210,6 +210,10 @@ @Inject private IEventDispatcher eventDispatcher; + @Inject + @Optional + private IDashboardProvider dashboardProvider; + /** The do logout. */ private EventHandler doLogout; @@ -690,10 +694,6 @@ } else if (viewModel instanceof PerspectiveBPMN) { String className = BpmnView.class.getCanonicalName(); return dslMetadataService.getClassURI(className, IPerspectiveProvider.PerspectiveViewType.BPMN); - } else if (viewModel instanceof PerspectiveWelcome) { - String className = WelcomeView.class.getCanonicalName(); - Bundle bundle = FrameworkUtil.getBundle(WelcomeView.class); - return E4Constants.BUNDLE_PROTOCOL_SCHEME + "://" + bundle.getSymbolicName() + "/" + className; } else if (viewModel instanceof PerspectiveSearch) { String className = SearchView.class.getCanonicalName(); Bundle bundle = FrameworkUtil.getBundle(SearchView.class); @@ -782,10 +782,6 @@ } else if (viewModel instanceof PerspectiveBPMN) { String className = BpmnView.class.getCanonicalName(); return dslMetadataService.getClassURI(className, IPerspectiveProvider.PerspectiveViewType.BPMN); - } else if (viewModel instanceof PerspectiveWelcome) { - String className = WelcomeView.class.getCanonicalName(); - Bundle bundle = FrameworkUtil.getBundle(WelcomeView.class); - return E4Constants.BUNDLE_PROTOCOL_SCHEME + "://" + bundle.getSymbolicName() + "/" + className; } else if (viewModel instanceof PerspectiveSaiku) { String className = SaikuView.class.getCanonicalName(); Bundle bundle = FrameworkUtil.getBundle(SaikuView.class); @@ -1171,13 +1167,17 @@ */ @Override public void openPerspective(String perspectiveId) { - PerspectiveFound perspectiveFound = findPerspective(perspectiveId); - if (perspectiveFound != null) { - log.debug("{}", "openPerspective starts"); - openPerspective(perspectiveFound, null); - log.debug("{}", "openPerspective finished"); + if(IDSLMetadataService.DASHBOARD.equals(perspectiveId) && dashboardProvider != null) { + dashboardProvider.createDashboard(eclipseContext); } else { - log.error("perspective id {} not found", perspectiveId); + PerspectiveFound perspectiveFound = findPerspective(perspectiveId); + if (perspectiveFound != null) { + log.debug("{}", "openPerspective starts"); + openPerspective(perspectiveFound, null); + log.debug("{}", "openPerspective finished"); + } else { + log.error("perspective id {} not found", perspectiveId); + } } }
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/OSBPServiceAddon.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/OSBPServiceAddon.java index 673b118..0783b7d 100644 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/OSBPServiceAddon.java +++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/OSBPServiceAddon.java
@@ -27,7 +27,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.contexts.RunAndTrack; -import org.eclipse.e4.core.di.annotations.Optional; import org.eclipse.e4.core.services.translation.TranslationService; import org.eclipse.e4.ui.model.application.MApplication; import org.eclipse.e4.ui.model.application.commands.MBindingContext; @@ -55,7 +54,6 @@ import org.eclipse.osbp.runtime.common.event.IEventDispatcher; import org.eclipse.osbp.runtime.common.i18n.II18nService; import org.eclipse.osbp.ui.api.contextfunction.ICommandsProvider; -import org.eclipse.osbp.ui.api.contextfunction.IDashboardProvider; import org.eclipse.osbp.ui.api.message.IMessageRequester; import org.eclipse.osbp.ui.api.message.MessageEvent; import org.eclipse.osbp.ui.api.message.MessageEvent.EventType; @@ -72,7 +70,6 @@ import org.eclipse.osbp.vaaclipse.addons.softwarefactory.handler.ThemeHandler; import org.eclipse.osbp.vaaclipse.addons.softwarefactory.handler.UserHandler; import org.eclipse.osbp.vaaclipse.addons.softwarefactory.perspective.PerspectiveProvider; -import org.eclipse.osbp.vaaclipse.addons.softwarefactory.welcome.WelcomeView; import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewContainer; import org.eclipse.osbp.vaaclipse.publicapi.theme.ThemeEngine; import org.eclipse.osbp.vaaclipse.publicapi.theme.ThemeManager; @@ -100,10 +97,6 @@ private ThemeManager themeManager; private IDSLMetadataService dslMetadataService; - - @Inject - @Optional - private IDashboardProvider dashboardProvider; protected Map<String, MessageDialog> messageDialogs = new HashMap<>(); protected Locale addonLocale; @@ -161,10 +154,6 @@ return true; } }); - - if (perspectiveProvider != null) { - perspectiveProvider.openPerspective(IPerspectiveProvider.WELCOME_SCREEN_ID, "Welcome", WelcomeView.class); - } } /**
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/ThemeResourceService.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/ThemeResourceService.java index 2593666..80540ee 100644 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/ThemeResourceService.java +++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/service/ThemeResourceService.java
@@ -142,13 +142,13 @@ public String getThemeResourceHTML(String subject, Locale locale) { String localeTag = locale.toLanguageTag(); String path = getRelativeResourePath(subject, ThemeResourceType.HTML); - String theme = themeManager.getThemeId(); StringBuilder htmlLoader = new StringBuilder(); - htmlLoader.append("<iframe src=\"./VAADIN/themes/$THEME$/$PATH$?localeTag=$LOCALETAG$\""); + htmlLoader.append("<iframe src=\"./VAADIN/themes/common/$PATH$?localeTag=$LOCALETAG$\""); htmlLoader.append("\twidth=\"100%\" height=\"100%\" name=\"$SUBJECT$ page\">"); htmlLoader.append("\t\t<p>Alternative $SUBJECT$ page</p>"); htmlLoader.append("</iframe>"); - return htmlLoader.toString().replace("$SUBJEC$T", subject).replace("$THEME$", theme).replace("$PATH$", path).replace("$LOCALETAG$", localeTag); + String html = htmlLoader.toString().replace("$SUBJECT$", subject).replace("$PATH$", path).replace("$LOCALETAG$", localeTag); + return html; } @Override @@ -163,8 +163,7 @@ @Override public String getThemeResourceMxGraphPath() { - String theme = themeManager.getThemeId(); - return "./VAADIN/themes/" + theme + "/mxGraph"; + return "./VAADIN/themes/common/mxGraph"; } }
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/welcome/WelcomeView.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/welcome/WelcomeView.java deleted file mode 100644 index 36f1b18..0000000 --- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/welcome/WelcomeView.java +++ /dev/null
@@ -1,87 +0,0 @@ -/** - * - * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation - * - */ -package org.eclipse.osbp.vaaclipse.addons.softwarefactory.welcome; - -import java.util.Locale; - -import javax.annotation.PostConstruct; -import javax.inject.Inject; - -import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.ui.model.application.MApplication; -import org.eclipse.osbp.ui.api.themes.IThemeResourceService; -import org.eclipse.osbp.ui.api.user.IUser; - -import com.vaadin.server.ClientConnector; -import com.vaadin.server.ClientConnector.AttachEvent; -import com.vaadin.server.ClientConnector.DetachEvent; -import com.vaadin.shared.ui.label.ContentMode; -import com.vaadin.ui.AbstractComponent; -import com.vaadin.ui.Label; -import com.vaadin.ui.VerticalLayout; - -public class WelcomeView implements IUser.UserLocaleListener, ClientConnector.DetachListener, ClientConnector.AttachListener { - - private static final long serialVersionUID = 1L; - private AbstractComponent label = null; - private VerticalLayout parent; - private IThemeResourceService themeResourceService; - private IUser user; - private Locale locale; - - @Inject - public WelcomeView(VerticalLayout parent, IEclipseContext context, MApplication app) { - this.parent = parent; - this.themeResourceService = context.get(IThemeResourceService.class); - this.user = context.get(IUser.class); - locale = user.getLocale(); - parent.addStyleName("os-welcome"); - parent.addAttachListener(this); - parent.addDetachListener(this); - } - - @PostConstruct - public void render() { - renderView(); - } - - private void renderView() { - if (label != null) { - parent.removeComponent(label); - } - label = new Label(themeResourceService.getThemeResourceHTML("WelcomeTRANSLATABLE", locale), ContentMode.HTML); - label.setSizeFull(); - parent.addComponent(label); - parent.setMargin(true); - } - - @Override - public void attach(AttachEvent event) { - user.addUserLocaleListener(this); - } - - @Override - public void detach(DetachEvent event) { - user.removeUserLocaleListener(this); - } - - @Override - public void localeChanged(Locale locale) { - this.locale = locale; - parent.removeAllComponents(); - renderView(); - } -}