blob: 97a8efd3117d743175fa157387b969c7e78178d9 [file] [log] [blame]
package org.eclipse.osbp.authentication.account.dialogs;
import com.vaadin.ui.ComponentContainer;
import com.vaadin.ui.Label;
import com.vaadin.ui.Notification;
import com.vaadin.ui.Notification.Type;
import com.vaadin.ui.UI;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Set;
import java.util.UUID;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.beans.BeansObservables;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.osbp.blob.component.BlobConverter;
import org.eclipse.osbp.core.api.persistence.IPersistenceService;
import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
import org.eclipse.osbp.ecview.core.common.context.ContextException;
import org.eclipse.osbp.ecview.core.common.context.IConfiguration;
import org.eclipse.osbp.ecview.core.common.context.IContext;
import org.eclipse.osbp.ecview.core.common.context.IViewContext;
import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
import org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy;
import org.eclipse.osbp.ecview.core.common.model.binding.YValueBinding;
import org.eclipse.osbp.ecview.core.common.model.binding.YVisibilityProcessorValueBindingEndpoint;
import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlot;
import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlotValueBindingEndpoint;
import org.eclipse.osbp.ecview.core.common.model.core.YView;
import org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityFactory;
import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
import org.eclipse.osbp.ecview.core.extension.model.extension.YTable;
import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategyProvider;
import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
import org.eclipse.osbp.ecview.extension.strategy.DefaultLayoutingStrategyProvider;
import org.eclipse.osbp.ecview.extension.strategy.FormLayoutLayoutingStrategy;
import org.eclipse.osbp.ecview.xtext.builder.participant.IECViewAddonsMetadataService;
import org.eclipse.osbp.eventbroker.EventBrokerMsg;
import org.eclipse.osbp.runtime.common.filter.IDTOService;
import org.eclipse.osbp.runtime.common.i18n.II18nService;
import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.VaadinRenderer;
import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables;
import org.eclipse.osbp.ui.api.contextfunction.IViewEmbeddedProvider;
import org.eclipse.osbp.ui.api.customfields.IBlobConverter;
import org.eclipse.osbp.ui.api.e4.IE4Dialog;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.report.IReportProvider;
import org.eclipse.osbp.ui.api.statemachine.IDataProvider;
import org.eclipse.osbp.ui.api.statemachine.IStateMachine;
import org.eclipse.osbp.ui.api.statemachine.IStateMachineParticipant;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType;
import org.eclipse.osbp.ui.api.user.IUser;
import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
import org.eclipse.osbp.utils.vaadin.SelectDialog;
import org.eclipse.osbp.xtext.dialogdsl.common.AbstractMobileView;
import org.osgi.framework.FrameworkUtil;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventHandler;
import org.osgi.util.tracker.ServiceTracker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings("serial")
@Component
public class DialogsServiceBinder {
private static Logger log = org.slf4j.LoggerFactory.getLogger("servicebinder");
private static IPersistenceService persistenceService;
private static IThemeResourceService themeResourceService;
private static IUserAccessService userAccessService;
private static IDSLMetadataService dslMetadataService;
private static IReportProvider reportProvider;
public static IPersistenceService getPersistenceService() {
return persistenceService;
}
public static IThemeResourceService getThemeResourceService() {
return themeResourceService;
}
public static IUserAccessService getUserAccessService() {
return userAccessService;
}
public static IDSLMetadataService getDSLMetadataService() {
return dslMetadataService;
}
public static IReportProvider getReportProvider() {
return reportProvider;
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindPersistenceService(final IPersistenceService persistenceService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.persistenceService = persistenceService;
log.debug("MobileDialog PersistenceService bound");
}
public synchronized void unbindPersistenceService(final IPersistenceService persistenceService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.persistenceService = null;
log.debug("MobileDialog PersistenceService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindThemeResourceService(final IThemeResourceService themeResourceService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.themeResourceService = themeResourceService;
log.debug("MobileDialog ThemeResourceService bound");
}
public synchronized void unbindThemeResourceService(final IThemeResourceService themeResourceService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.themeResourceService = null;
log.debug("MobileDialog ThemeResourceService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindUserAccessService(final IUserAccessService userAccessService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.userAccessService = userAccessService;
log.debug("MobileDialog UserAccessService bound");
}
public synchronized void unbindUserAccessService(final IUserAccessService userAccessService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.userAccessService = null;
log.debug("MobileDialog UserAccessService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.dslMetadataService = dslMetadataService;
log.debug("MobileDialog DSLMetadataService bound");
}
public synchronized void unbindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.dslMetadataService = null;
log.debug("MobileDialog DSLMetadataService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindReportProvider(final IReportProvider reportProvider) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.reportProvider = reportProvider;
log.debug("MobileDialog ReportProvider bound");
}
public synchronized void unbindReportProvider(final IReportProvider reportProvider) {
org.eclipse.osbp.authentication.account.dialogs.DialogsServiceBinder.reportProvider = null;
log.debug("MobileDialog ReportProvider unbound");
}
}