Merge branch 'move-to-luna' into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / store / CdmStoreConnector.java
index 52ce1b559fc3e856c83ce17f5d9f7cb61c4b61c8..f1b5e38ad942d63699da7fbc51c24ca88b6faae3 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * 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.
  */
@@ -18,22 +18,19 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.widgets.Display;
-import org.hibernate.collection.internal.AbstractPersistentCollection;
-import org.hibernate.proxy.AbstractLazyInitializer;
 import org.springframework.core.io.Resource;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
 import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
-import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.remote.ICdmRemoteSource;
 import eu.etaxonomy.cdm.config.CdmSourceException;
-import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
+import eu.etaxonomy.cdm.config.ICdmSource;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;
 import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
-import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName;
 import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.remoting.source.ICdmRemoteSource;
 import eu.etaxonomy.taxeditor.ui.dialog.LoginDialog;
 import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
 
@@ -96,20 +93,21 @@ class CdmStoreConnector extends Job {
                        CdmProgressMonitorAdapter subprogressMonitor = CdmProgressMonitorAdapter
                                        .CreateSubMonitor(monitor, 7);
                        // This is where we instantiate the application controller
+                       int oldPriority = Thread.currentThread().getPriority();
                        try {
-                               
+                               Thread.currentThread().setPriority(10);
                                applicationController = getApplicationController(cdmSource,subprogressMonitor);
-                       
                        } catch (Exception e) {
                                if(! causeIsCancelationExceptionRecursive(e)){
                                        return new Status(IStatus.ERROR, "Could not connect to CDM Store", "An error occurred while trying to connect to datasource: " + cdmSource.getName(), e);
                                }
                        } finally {
                                monitor.done();
+                               Thread.currentThread().setPriority(oldPriority);
                        }
                }
-               
-               
+
+
 
                if (!monitor.isCanceled()) {
                        CdmStore.setInstance(applicationController, cdmSource);
@@ -117,7 +115,7 @@ class CdmStoreConnector extends Job {
                        display.asyncExec(new Runnable() {
                                /*
                                 * (non-Javadoc)
-                                * 
+                                *
                                 * @see java.lang.Runnable#run()
                                 */
                                @Override
@@ -128,14 +126,14 @@ class CdmStoreConnector extends Job {
                                }
                        });
 
-                       StoreUtil.info("Application context initialized.");
+                       MessagingUtils.info("Application context initialized.");
                        return Status.OK_STATUS;
                } else {
                        // Show datasource view if not shown yet
                        display.asyncExec(new Runnable() {
                                /*
                                 * (non-Javadoc)
-                                * 
+                                *
                                 * @see java.lang.Runnable#run()
                                 */
                                @Override
@@ -150,14 +148,14 @@ class CdmStoreConnector extends Job {
 
        private ICdmApplicationConfiguration getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
                if(cdmSource instanceof ICdmDataSource) {
-                       return  CdmApplicationController.NewInstance(applicationContextBean, 
-                                       (ICdmDataSource)cdmSource, 
+                       return  CdmApplicationController.NewInstance(applicationContextBean,
+                                       (ICdmDataSource)cdmSource,
                                        dbSchemaValidation,
-                                       false, 
+                                       false,
                                        subprogressMonitor);
                } else if(cdmSource instanceof ICdmRemoteSource) {
-                       return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,                                  
-                                                       false, 
+                       return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,
+                                                       false,
                                                        subprogressMonitor,
                                                        null);
                } else {
@@ -201,8 +199,8 @@ class CdmStoreConnector extends Job {
 
                if (!result) {
                        // Show an error message
-                       StoreUtil
-                                       .errorDialog(
+                       MessagingUtils
+                                       .messageDialog(
                                                        "DatabaseCompatibilityCheck failed",
                                                        this,
                                                        "The database schema for the chosen "
@@ -239,16 +237,16 @@ class CdmStoreConnector extends Job {
                        return causeIsCancelationExceptionRecursive(throwable.getCause());
                }
        }
-       
+
        private void checkDatabaseReachable(IProgressMonitor monitor) {
                try {
                        monitor.subTask("Checking if datasource is reachable.");
                        cdmSource.checkConnection();
                        monitor.worked(1);
                } catch (CdmSourceException e) {
-                       StoreUtil.errorDialog("Could not connect to chosen datasource",
+                       MessagingUtils.messageDialog("Could not connect to chosen datasource",
                                        this, "Reason: " + e.getMessage(), e);
                        monitor.setCanceled(true);
-               } 
+               }
        }
 }