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;
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;
}else{
// no datasource chosen.
logger.warn("No datasource chosen. Exiting now.");
- System.exit(1);
+ PlatformUI.getWorkbench().close();
}
}else{
// Start default cdm database
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.");