refactoring to change the specific (I)CdmDataSource to the more generic (I)CdmSource...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / datasource / CdmDataSourceLabelProvider.java
index ba10851c2478acf8289c0d8fe68453e1642b7c2d..e367dd1682b71c65f9a7a20d8e95ebbe4a4f5499 100644 (file)
@@ -14,6 +14,8 @@ import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
 import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName;
 import eu.etaxonomy.taxeditor.model.ImageResources;
@@ -35,7 +37,7 @@ public class CdmDataSourceLabelProvider extends LabelProvider implements ITableL
        /** {@inheritDoc} */
        public Image getColumnImage(Object element, int columnIndex) {
                if(columnIndex == 0){
-                       ICdmDataSource dataSource = ((CdmMetaDataAwareDataSourceContainer) element).getDataSource();
+                       ICdmSource dataSource = ((CdmMetaDataAwareDataSourceContainer) element).getCdmSource();
                        
                        String key = isCurrentDataSource(dataSource) ? ImageResources.IMG_DATASOURCE_CONNECTED : ImageResources.IMG_DATASOURCE_DISCONNECTED;
                        
@@ -53,7 +55,7 @@ public class CdmDataSourceLabelProvider extends LabelProvider implements ITableL
        public String getColumnText(Object element, int columnIndex) {
                CdmMetaDataAwareDataSourceContainer container = (CdmMetaDataAwareDataSourceContainer) element;
                                
-               ICdmDataSource dataSource = container.getDataSource();
+               ICdmSource dataSource = container.getCdmSource();
                                
                switch (columnIndex){
                        case 1:
@@ -67,9 +69,17 @@ public class CdmDataSourceLabelProvider extends LabelProvider implements ITableL
                        case 3:
                                return container.isRunning() ? "Yes" : "No";
                        case 4:
-                               return dataSource.getDatabaseType().getName();
+                               if(dataSource instanceof ICdmDataSource) {
+                                       return ((ICdmDataSource)dataSource).getDatabaseType().getName();
+                               } else {
+                                       return "";
+                               }                               
                        case 5:
-                               return dataSource.getDatabase();
+                               if(dataSource instanceof ICdmDataSource) {
+                                       return ((ICdmDataSource)dataSource).getDatabase();
+                               } else {
+                                       return DatabaseTypeEnum.MySQL.getName();
+                               }
                        case 6:
                                if (dataSource.getNomenclaturalCode() == null) {
                                        return "";
@@ -90,9 +100,8 @@ public class CdmDataSourceLabelProvider extends LabelProvider implements ITableL
                return CdmMetaDataAwareDataSourceContainer.DEFAULT_ENTRY;
        }
        
-       private boolean isCurrentDataSource(ICdmDataSource dataSource){
-               ICdmDataSource currentDataSource = CdmStore.getDataSource();
-               
+       private boolean isCurrentDataSource(ICdmSource dataSource){
+               ICdmSource currentDataSource = CdmStore.getActiveCdmSource();
                return currentDataSource != null && currentDataSource.getName().equals(dataSource.getName());
        }
 }