+++ /dev/null
-/**
-* Copyright (C) 2020 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.local.server;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Display;
-import org.springframework.core.io.Resource;
-
-import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.cache.CdmRemoteCacheManager;
-import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.database.DbSchemaValidation;
-import eu.etaxonomy.taxeditor.local.CdmServer;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-
-/**
- * @author k.luther
- * @since Sep 18, 2020
- */
-public class CdmStoreLocal extends CdmStore {
-
- protected static CdmStoreConnectorLocal job;
- private static CdmServer managedServer;
- /**
- * @param repository
- * @param cdmSource
- */
- protected CdmStoreLocal(ICdmRepository repository, ICdmSource cdmSource) {
- super(repository, cdmSource);
- // TODO Auto-generated constructor stub
- }
-
-
- /**
- * Initialize with a specific datasource
- *
- * @param datasource
- * a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
- */
- public static void connect(ICdmSource cdmSource) {
- connect(cdmSource, DEFAULT_DB_SCHEMA_VALIDATION,
- DEFAULT_APPLICATION_CONTEXT);
- }
-
- public static void connect(ICdmSource cdmSource, RemotingLoginDialogLocal loginDialog) {
- connect(cdmSource,
- DEFAULT_DB_SCHEMA_VALIDATION,
- DEFAULT_APPLICATION_CONTEXT,
- loginDialog);
- }
-
- /**
- * Initialize and provide
- *
- * @param datasource
- * @param dbSchemaValidation
- * @param applicationContextBean
- */
- private static void connect(final ICdmSource cdmSource,
- final DbSchemaValidation dbSchemaValidation,
- final Resource applicationContextBean) {
-
- MessagingUtils.info("Connecting to datasource: " + cdmSource);
-
- job = new CdmStoreConnectorLocal(Display.getDefault(), cdmSource,
- dbSchemaValidation, applicationContextBean);
- job.setUser(true);
- job.setPriority(Job.BUILD);
- job.schedule();
- }
-
- private static void connect(final ICdmSource cdmSource,
- final DbSchemaValidation dbSchemaValidation,
- final Resource applicationContextBean,
- RemotingLoginDialogLocal remotingLoginDialog) {
- RemotingLoginDialogLocal loginDialog = remotingLoginDialog;
- if(isActive()) {
- // before we connect we clear the entity caches and the sessions
- CdmRemoteCacheManager.removeEntityCaches();
- if(getCurrentSessionManager(true) != null) {
- getCurrentSessionManager(true).disposeAll();
- }
- }
- MessagingUtils.info("Connecting to datasource: " + cdmSource);
-
- job = new CdmStoreConnectorLocal(Display.getDefault(),
- cdmSource,
- dbSchemaValidation,
- applicationContextBean);
- job.start(loginDialog);
-
- }
-
- public static boolean isConnecting() {
- return job != null && job.getState() == Job.RUNNING;
- }
-
- public static void setManagedServer(CdmServer server) {
- managedServer = server;
- }
-
- public static CdmServer getManagedServer() {
- return managedServer;
- }
-}