fixes #1055
authorn.hoffmann <n.hoffmann@localhost>
Mon, 28 Sep 2009 15:09:26 +0000 (15:09 +0000)
committern.hoffmann <n.hoffmann@localhost>
Mon, 28 Sep 2009 15:09:26 +0000 (15:09 +0000)
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java

index 512c98000640c47873f0b29372b8c8a7b0ce27fb..9cda35361190884883d879be5f849b0329d581db 100644 (file)
@@ -14,6 +14,7 @@ import java.util.List;
 
 import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.PlatformUI;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
 import org.springframework.security.providers.ProviderManager;
@@ -22,7 +23,6 @@ import eu.etaxonomy.cdm.api.application.CdmApplicationController;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.api.service.ICommonService;
-import eu.etaxonomy.cdm.api.service.IDatabaseService;
 import eu.etaxonomy.cdm.api.service.ILocationService;
 import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
@@ -99,7 +99,7 @@ public class CdmStore{
                                }else{
                                        // no datasource chosen.
                                        logger.warn("No datasource chosen. Exiting now.");
-                                       System.exit(1);
+                                       PlatformUI.getWorkbench().close();
                                }       
                        }else{
                                // Start default cdm database
@@ -116,7 +116,15 @@ public class CdmStore{
                
                ICdmDataSource cdmDatasource = CdmDataSourceRepository.getCurrentDataSource();
                
-               CdmStore instance = new CdmStore(cdmDatasource, dbSchemaValidation, applicationContextBean);
+               try {
+                       cdmDatasource.testConnection();
+                       instance = new CdmStore(cdmDatasource, dbSchemaValidation, applicationContextBean);
+               } catch (Exception e) {
+                       StoreUtil.errorDialog("Chosen Datasource is not available", "Could not connect to the chosen " +
+                                       "datasource '" + cdmDatasource + "'. Please check setting in datasources.xml. If the datasource " +
+                                                       "is located on a remote machine, make sure your are connected to the network.");
+                       PlatformUI.getWorkbench().close();
+               }
                
                logger.info("Application context initialized.");