blob: 18aca65851f76a3d51fad4502b0223be9a5981ca [file] [log] [blame]
/**
* 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 v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*/
package org.eclipse.osbp.authentication.account.datamarts;
import com.vaadin.ui.Notification;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import org.eclipse.osbp.bpm.api.BPMTaskSummary;
import org.eclipse.osbp.bpm.api.IBPMEngine;
import org.eclipse.osbp.bpm.api.IBPMTaskClient;
import org.eclipse.osbp.core.api.persistence.IPersistenceService;
import org.eclipse.osbp.dsl.common.datatypes.IDto;
import org.eclipse.osbp.preferences.ProductConfiguration;
import org.eclipse.osbp.runtime.common.event.IDualData;
import org.eclipse.osbp.runtime.common.i18n.ITranslator;
import org.eclipse.osbp.ui.api.datamart.DatamartData;
import org.eclipse.osbp.ui.api.datamart.DatamartFilter;
import org.eclipse.osbp.ui.api.datamart.IDataMart.EType;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
import org.eclipse.osbp.user.User;
import org.eclipse.osbp.utils.vaadin.SimpleDateFormatter;
import org.eclipse.osbp.xtext.datamart.common.DatamartDtoMapper;
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedAxis;
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedMember;
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedPosition;
import org.eclipse.osbp.xtext.datamart.common.sql.SqlCellSet;
import org.olap4j.Axis;
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;
@SuppressWarnings("serial")
@Component
public class DatamartsServiceBinder {
private static Logger log = org.slf4j.LoggerFactory.getLogger("servicebinder");
private static IPersistenceService persistenceService;
private static IBPMEngine bpmEngine;
private static IUserAccessService userAccessService;
private static IDSLMetadataService dslMetadataService;
private static IBPMTaskClient taskClient;
public static IPersistenceService getPersistenceService() {
return persistenceService;
}
public static IBPMEngine getBpmEngine() {
return bpmEngine;
}
public static IUserAccessService getUserAccessService() {
return userAccessService;
}
public static IDSLMetadataService getDSLMetadataService() {
return dslMetadataService;
}
public static IBPMTaskClient getTaskClient() {
return taskClient;
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindPersistenceMethod(final IPersistenceService persistenceService) {
DatamartsServiceBinder.persistenceService = persistenceService;
log.debug("Datamart PersistenceService bound");
}
public synchronized void unbindPersistenceMethod(final IPersistenceService persistenceService) {
DatamartsServiceBinder.persistenceService = null;
log.debug("Datamart PersistenceService unbound");
}
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
public synchronized void bindBPMMethod(final IBPMEngine bpmEngine) {
DatamartsServiceBinder.bpmEngine = bpmEngine;
log.debug("Datamart BPMEngine bound");
}
public synchronized void unbindBPMMethod(final IBPMEngine bpmEngine) {
DatamartsServiceBinder.bpmEngine = null;
log.debug("Datamart BPMEngine unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindUserAccessMethod(final IUserAccessService userAccessService) {
DatamartsServiceBinder.userAccessService = userAccessService;
log.debug("Datamart UserAccessService bound");
}
public synchronized void unbindUserAccessMethod(final IUserAccessService userAccessService) {
DatamartsServiceBinder.userAccessService = null;
log.debug("Datamart UserAccessService unbound");
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
DatamartsServiceBinder.dslMetadataService = dslMetadataService;
log.debug("Datamart DSLMetadataService bound");
}
public synchronized void unbindDSLMetadataService(final IDSLMetadataService dslMetadataService) {
DatamartsServiceBinder.dslMetadataService = null;
log.debug("Datamart DSLMetadataService unbound");
}
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
public synchronized void bindTaskClient(final IBPMTaskClient taskClient) {
DatamartsServiceBinder.taskClient = taskClient;
log.debug("Datamart BPMTaskClient bound");
}
public synchronized void unbindTaskClient(final IBPMTaskClient taskClient) {
DatamartsServiceBinder.taskClient = null;
log.debug("Datamart BPMTaskClient unbound");
}
}