2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.local
.view
.datasource
;
12 import org
.eclipse
.jface
.viewers
.ILabelProviderListener
;
13 import org
.eclipse
.jface
.viewers
.ITableLabelProvider
;
14 import org
.eclipse
.jface
.viewers
.LabelProvider
;
15 import org
.eclipse
.swt
.graphics
.Image
;
17 import eu
.etaxonomy
.cdm
.config
.ICdmSource
;
18 import eu
.etaxonomy
.cdm
.database
.DatabaseTypeEnum
;
19 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
20 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmMetaDataPropertyName
;
21 import eu
.etaxonomy
.taxeditor
.model
.ImageResources
;
22 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
25 * <p>CdmDataSourceLabelProvider class.</p>
30 public class CdmDataSourceLabelProvider
extends LabelProvider
implements ITableLabelProvider
{
34 public Image
getColumnImage(Object element
, int columnIndex
) {
36 ICdmSource dataSource
= ((CdmMetaDataAwareDataSourceContainer
) element
).getCdmSource();
38 String key
= isCurrentDataSource(dataSource
) ? ImageResources
.IMG_DATASOURCE_CONNECTED
: ImageResources
.IMG_DATASOURCE_DISCONNECTED
;
40 return ImageResources
.getImage(key
);
48 public String
getColumnText(Object element
, int columnIndex
) {
49 CdmMetaDataAwareDataSourceContainer container
= (CdmMetaDataAwareDataSourceContainer
) element
;
51 ICdmSource dataSource
= container
.getCdmSource();
55 return dataSource
.getName();
57 if(dataSource
.getServer() != null){
58 return dataSource
.getServer();
60 // h2 databases do not have server entries
63 return container
.isRunning() ?
"Yes" : "No";
65 if(dataSource
instanceof ICdmDataSource
&& ((ICdmDataSource
)dataSource
).getDatabaseType() != null) {
66 return ((ICdmDataSource
)dataSource
).getDatabaseType().getName();
71 if(dataSource
instanceof ICdmDataSource
) {
72 return ((ICdmDataSource
)dataSource
).getDatabase();
74 return DatabaseTypeEnum
.MySQL
.getName();
77 return container
.getMetaData(CdmMetaDataPropertyName
.DB_CREATE_DATE
);
79 return container
.getMetaData(CdmMetaDataPropertyName
.DB_SCHEMA_VERSION
);
81 if(container
.getMetaDataMap().get(CdmMetaDataPropertyName
.DB_SCHEMA_VERSION
) != null){
82 return container
.isDataSourceCompatible() ?
"Yes" : "No";
86 return container
.getMetaData(CdmMetaDataPropertyName
.DB_CREATE_NOTE
);
88 return CdmMetaDataAwareDataSourceContainer
.DEFAULT_ENTRY
;
91 private boolean isCurrentDataSource(ICdmSource dataSource
){
92 ICdmSource currentDataSource
= CdmStore
.getActiveCdmSource();
93 return currentDataSource
!= null && currentDataSource
.getName().equals(dataSource
.getName());
97 public void addListener(ILabelProviderListener listener
) {
98 // TODO Auto-generated method stub
103 public void dispose() {
104 // TODO Auto-generated method stub
109 public boolean isLabelProperty(Object element
, String property
) {
110 // TODO Auto-generated method stub
115 public void removeListener(ILabelProviderListener listener
) {
116 // TODO Auto-generated method stub