blob: 90162ea1134a180b5602d8dd7a1231802f84ed4b [file] [log] [blame]
/**
* Copyright (c) 2011 - 2017, Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg)
* 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:
* Loetz GmbH&Co.KG - Initial implementation
*/
package org.eclipse.osbp.display.servlet;
import org.eclipse.osbp.core.api.persistence.IPersistenceService;
import org.eclipse.osbp.runtime.common.event.IEventDispatcher;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.report.IReportProvider;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
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.slf4j.Logger;
@Component
public class DisplayServiceBinder {
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;
private static IEventDispatcher eventDispatcher;
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;
}
public static IEventDispatcher getEventDispatcher() {
return eventDispatcher;
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindPersistenceService(final IPersistenceService persistenceService) {
DisplayServiceBinder.persistenceService = persistenceService;
log.debug("Mobile PersistenceService bound");
}
public synchronized void unbindPersistenceService(final IPersistenceService persistenceService) {
DisplayServiceBinder.persistenceService = null;
log.debug("Mobile PersistenceService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindThemeResourceService(final IThemeResourceService themeResourceService) {
DisplayServiceBinder.themeResourceService = themeResourceService;
log.debug("Mobile ThemeResourceService bound");
}
public synchronized void unbindThemeResourceService(final IThemeResourceService themeResourceService) {
DisplayServiceBinder.themeResourceService = null;
log.debug("Mobile ThemeResourceService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindUserAccessService(final IUserAccessService userAccessService) {
DisplayServiceBinder.userAccessService = userAccessService;
log.debug("Mobile UserAccessService bound");
}
public synchronized void unbindUserAccessService(final IUserAccessService userAccessService) {
DisplayServiceBinder.userAccessService = null;
log.debug("Mobile UserAccessService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
DisplayServiceBinder.dslMetadataService = dslMetadataService;
log.debug("Mobile DSLMetadataService bound");
}
public synchronized void unbindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
DisplayServiceBinder.dslMetadataService = null;
log.debug("Mobile DSLMetadataService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindReportProvider(final IReportProvider reportProvider) {
DisplayServiceBinder.reportProvider = reportProvider;
log.debug("Mobile ReportProvider bound");
}
public synchronized void unbindReportProvider(final IReportProvider reportProvider) {
DisplayServiceBinder.reportProvider = null;
log.debug("Mobile ReportProvider unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindEventDispatcher(final IEventDispatcher eventDispatcher) {
DisplayServiceBinder.eventDispatcher = eventDispatcher;
log.debug("Mobile EventDispatcher bound");
}
public synchronized void unbindEventDispatcher(final IEventDispatcher eventDispatcher) {
DisplayServiceBinder.eventDispatcher = null;
log.debug("Mobile EventDispatcher unbound");
}
}