From f78917b11144e0463484f4bd8c4d298acccab03a Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Wed, 1 Jun 2016 12:57:25 +0200 Subject: [PATCH] Shorten exception logged when CDMMETADATA is missing #5785 --- .../CdmMetaDataAwareDataSourceContainer.java | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java index 1a21700c0..77d5d595a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java @@ -1,22 +1,20 @@ // $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. */ package eu.etaxonomy.taxeditor.view.datasource; -import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import eu.etaxonomy.cdm.config.CdmSourceException; import eu.etaxonomy.cdm.config.ICdmSource; -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.MessagingUtils; @@ -29,18 +27,18 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils; * @version 1.0 */ public class CdmMetaDataAwareDataSourceContainer { - - - + + + /** Constant DEFAULT_ENTRY="-" */ public static final String DEFAULT_ENTRY = "-"; - + private ICdmSource cdmSource; - + private boolean running; - + private Map metaDataMap; - + /** *

Constructor for CdmMetaDataAwareDataSourceContainer.

* @@ -49,9 +47,9 @@ public class CdmMetaDataAwareDataSourceContainer { */ public CdmMetaDataAwareDataSourceContainer(ICdmSource cdmSource){ this.cdmSource = cdmSource; - + metaDataMap = getDefaultMetaDataMap(); - + } // /** @@ -62,18 +60,18 @@ public class CdmMetaDataAwareDataSourceContainer { // public ICdmDataSource getDataSource() { // return dataSource; // } - + public ICdmSource getCdmSource() { return cdmSource; } - + public void getMetaDataFromDataSource(){ try { running = cdmSource.checkConnection(); } catch (Exception e) { running = false; for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){ - metaDataMap.put(metaDataPropertyName, DEFAULT_ENTRY); + metaDataMap.put(metaDataPropertyName, DEFAULT_ENTRY); } } @@ -81,24 +79,29 @@ public class CdmMetaDataAwareDataSourceContainer { if(isRunning()){ // try { - metaDataMap = cdmSource.getMetaDataMap(); + metaDataMap = cdmSource.getMetaDataMap(); cdmSource.closeOpenConnections(); // } catch (CdmSourceException e) { // StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + cdmSource.getName() + ". " + e.getMessage()); - // } + // } } } catch (Exception e) { - MessagingUtils.error(this.getClass(), e); + if(e instanceof CdmSourceException && e.getMessage().toLowerCase().contains("\"cdmmetadata\"")){ + MessagingUtils.error(this.getClass(), "Data source "+((CdmSourceException) e).getSourceName()+" does not have a CDMMETADATA table", null); + } + else{ + MessagingUtils.error(this.getClass(), e); + } } } - + private Map getDefaultMetaDataMap(){ Map resultMap = new HashMap(MetaDataPropertyName.values().length); - + for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){ resultMap.put(metaDataPropertyName, null); } - + return resultMap; } @@ -110,7 +113,7 @@ public class CdmMetaDataAwareDataSourceContainer { public Map getMetaDataMap() { return metaDataMap; } - + /** *

isDataSourceCompatible

* @@ -131,7 +134,7 @@ public class CdmMetaDataAwareDataSourceContainer { String property = metaDataMap.get(metaDataPropertyName); return property != null ? property : DEFAULT_ENTRY; } - + /** *

isRunning

* @@ -140,7 +143,7 @@ public class CdmMetaDataAwareDataSourceContainer { public boolean isRunning() { return running; } - + /* (non-Javadoc) * @see java.lang.Object#toString() */ -- 2.34.1