refactoring to change the specific (I)CdmDataSource to the more generic (I)CdmSource...
authorCherian Mathew <c.mathew@bgbm.org>
Tue, 6 May 2014 14:32:28 +0000 (14:32 +0000)
committerCherian Mathew <c.mathew@bgbm.org>
Tue, 6 May 2014 14:32:28 +0000 (14:32 +0000)
CloneDataSourceHandler : new handler to clone a datasource

.gitattributes
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewerComparator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/DeleteDataSourceHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/EditDataSourceHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/UpdateDataSourceHandler.java

index 65b8759313ca365d99790e851d4688637da1d971..7ff4d92628418a7236a05179dbc53bca22c533dc 100644 (file)
@@ -1661,6 +1661,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasourc
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/AbstractDataSourceHandler.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloseConnectionHandler.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CreateDataSourceHandler.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/DataSourceMenuPropertyTester.java -text
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());
        }
 }
index c8e7e10e20fd6904b329a5c5a94da73240e302e2..3cbafb3844980b5d28ff30c1c4e23ffcb66d0208 100644 (file)
@@ -49,6 +49,7 @@ import org.eclipse.ui.part.ViewPart;
 import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
 import org.springframework.security.core.GrantedAuthority;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
 import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
 import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
@@ -98,14 +99,14 @@ public class CdmDataSourceViewPart extends ViewPart{
        
        private class DataSourceJob extends Job{
 
-               private List<ICdmDataSource> dataSources;
+               private List<ICdmSource> cdmSources;
 
                /**
                 * @param name
                 */
-               public DataSourceJob(String title, List<ICdmDataSource> dataSources) {
+               public DataSourceJob(String title, List<ICdmSource> cdmSources) {
                        super(title);
-                       this.dataSources = dataSources;
+                       this.cdmSources = cdmSources;
                }
 
                /* (non-Javadoc)
@@ -115,12 +116,12 @@ public class CdmDataSourceViewPart extends ViewPart{
                public IStatus run(final IProgressMonitor monitor) {
                        try{
                                logger.debug("Begin of eclipse core runtime Job to Retrieve datasources");
-                               monitor.beginTask("Retrieving datasources", dataSources.size() + 1);                    
+                               monitor.beginTask("Retrieving datasources", cdmSources.size() + 1);                     
                                
                                final List<CdmMetaDataAwareDataSourceContainer> containers = new ArrayList<CdmMetaDataAwareDataSourceContainer>();
                                
-                               for(ICdmDataSource dataSource : dataSources){
-                                       containers.add(new CdmMetaDataAwareDataSourceContainer(dataSource));
+                               for(ICdmSource cdmSource : cdmSources){
+                                       containers.add(new CdmMetaDataAwareDataSourceContainer(cdmSource));
                                }
                                
                                Display.getDefault().asyncExec(new Runnable() {
index 211acb36f0ecac033fa95b294e8848151cf7370a..caa811cec9bbc7cc70eae46f637ea6c13fbdf853 100644 (file)
@@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.view.datasource;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerComparator;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
 
@@ -51,6 +53,9 @@ public class CdmDataSourceViewerComparator extends ViewerComparator {
                CdmMetaDataAwareDataSourceContainer d1 = (CdmMetaDataAwareDataSourceContainer) e1;
                CdmMetaDataAwareDataSourceContainer d2 = (CdmMetaDataAwareDataSourceContainer) e2;
                
+               ICdmSource cs1 = d1.getCdmSource();
+               ICdmSource cs2 = d2.getCdmSource();
+               
                int result = 0;
                
                switch (propertyIndex) {
@@ -70,28 +75,33 @@ public class CdmDataSourceViewerComparator extends ViewerComparator {
                                // is running
                                break;
                        case 5:
-                               NomenclaturalCode code1 = d1.getDataSource().getNomenclaturalCode();
-                               NomenclaturalCode code2 = d2.getDataSource().getNomenclaturalCode();
+                               NomenclaturalCode code1 = d1.getCdmSource().getNomenclaturalCode();
+                               NomenclaturalCode code2 = d2.getCdmSource().getNomenclaturalCode();
                                if (code1 != null && code2 != null) {
                                        result = code1.compareTo(code2);
                                }
                                break;
                        case 4:
-                               result = d1.getDataSource().getDatabase().compareTo(d2.getDataSource().getDatabase());
+                               if(cs1 instanceof ICdmDataSource && cs2 instanceof ICdmDataSource) {
+                                       result = ((ICdmDataSource)cs1).getDatabase().compareTo(((ICdmDataSource)cs2).getDatabase());
+                               }
+                               
                                break;
                        case 3:
-                               result = d1.getDataSource().getDatabaseType().getName().compareTo(d2.getDataSource().getDatabaseType().getName());
+                               if(cs1 instanceof ICdmDataSource && cs2 instanceof ICdmDataSource) {
+                                       result = ((ICdmDataSource)cs1).getDatabaseType().getName().compareTo(((ICdmDataSource)cs2).getDatabaseType().getName());
+                               }
                                break;
                        case 2:
-                               String server1 = d1.getDataSource().getServer();
-                               String server2 = d2.getDataSource().getServer();
+                               String server1 = d1.getCdmSource().getServer();
+                               String server2 = d2.getCdmSource().getServer();
                                if(server1 != null && server2 != null){
                                        result = server1.compareTo(server2);
                                }
                                // h2 databases do not have server entries
                                break;
                        default:
-                               result = d1.getDataSource().getName().compareTo(d2.getDataSource().getName());
+                               result = d1.getCdmSource().getName().compareTo(d2.getCdmSource().getName());
                }
                        
                // If descending order, flip the direction
index cdf06cf13ac5bb6568dd96ec013227043c72e498..9f828ac05d01fc3199af4056e0ee3a573855d028 100644 (file)
@@ -14,6 +14,8 @@ 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;
@@ -33,7 +35,7 @@ public class CdmMetaDataAwareDataSourceContainer {
        /** Constant <code>DEFAULT_ENTRY="-"</code> */
        public static final String DEFAULT_ENTRY = "-";
        
-       private ICdmDataSource dataSource;
+       private ICdmSource cdmSource;
        
        private boolean running;
        
@@ -45,46 +47,45 @@ public class CdmMetaDataAwareDataSourceContainer {
         * @param dataSource a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
         * @param view a {@link eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart} object.
         */
-       public CdmMetaDataAwareDataSourceContainer(ICdmDataSource dataSource){
-               this.dataSource = dataSource;
+       public CdmMetaDataAwareDataSourceContainer(ICdmSource cdmSource){
+               this.cdmSource = cdmSource;
                
                metaDataMap = getDefaultMetaDataMap();
                
        }
 
-       /**
-        * <p>Getter for the field <code>dataSource</code>.</p>
-        *
-        * @return the dataSource
-        */
-       public ICdmDataSource getDataSource() {
-               return dataSource;
-       }
+//     /**
+//      * <p>Getter for the field <code>dataSource</code>.</p>
+//      *
+//      * @return the dataSource
+//      */
+//     public ICdmDataSource getDataSource() {
+//             return dataSource;
+//     }
+       
+       public ICdmSource getCdmSource() {
+       return cdmSource;
+}
        
        public void getMetaDataFromDataSource(){
                try {
-                       running = dataSource.testConnection();
+                       running = cdmSource.checkConnection();
                } catch (Exception e) {
                        running = false;
                        for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){
                                metaDataMap.put(metaDataPropertyName, DEFAULT_ENTRY);                                   
                        }
                }
-               
+
                try {
                        if(isRunning()){
-                       
-                               try {
-                                       for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){
-                                               Object result = dataSource.getSingleValue(metaDataPropertyName.getSqlQuery());
-                                               if(result != null){
-                                                       metaDataMap.put(metaDataPropertyName, (String) result);
-                                               }                                               
-                                       }               
-                                       dataSource.closeOpenConnections();
-                               } catch (SQLException e) {
-                                       StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + dataSource.getName() + ". " + e.getMessage());
-                               } 
+
+                               //                              try {
+                               metaDataMap = cdmSource.getMetaDataMap();       
+                               cdmSource.closeOpenConnections();
+                               //                              } catch (CdmSourceException e) {
+                               //                                      StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + cdmSource.getName() + ". " + e.getMessage());
+                               //                              } 
                        }
                } catch (Exception e) {
                        StoreUtil.error(this.getClass(), e);
@@ -146,6 +147,6 @@ public class CdmMetaDataAwareDataSourceContainer {
        /** {@inheritDoc} */
        @Override
        public String toString() {
-               return dataSource.getName();
+               return cdmSource.getName();
        }
 }
index ff812e4d4b5651ee61d98bbc66417dabd035a7ba..a14a60f65ecee7fd87e2d6ebf94b42039b15dbaa 100644 (file)
@@ -46,12 +46,12 @@ public class ChangeConnectionHandler extends AbstractHandler {
                        }
                        
                        try {
-                               container.getDataSource().testConnection();
+                               container.getCdmSource().checkConnection();
                                boolean confirmed = StoreUtil.confirmDialog("Confirm Datasource Connection", "Do you really want to connect to this datasource?\n\n"
-                                               + container.getDataSource().getName());
+                                               + container.getCdmSource().getName());
                                
                                if(confirmed){
-                                       CdmDataSourceRepository.changeDataSource(container.getDataSource());
+                                       CdmDataSourceRepository.changeDataSource(container.getCdmSource());
                                }
                        } catch (Exception e) {
                                StoreUtil.warningDialog("Chosen datasource is not available", this, "This could mean that either the database server is " +
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java
new file mode 100644 (file)
index 0000000..6e19e39
--- /dev/null
@@ -0,0 +1,59 @@
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* 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.handler;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
+import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceWizard;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
+import eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer;
+
+/**
+ * <p>CloneDataSourceHandler class.</p>
+ *
+ */
+public class CloneDataSourceHandler extends AbstractDataSourceHandler {
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.store.datasource.handler.AbstractDataSourceHandler#specificExecute(org.eclipse.core.commands.ExecutionEvent)
+        */
+       /** {@inheritDoc} */
+       @Override
+       public boolean specificExecute(ExecutionEvent event) {
+               CdmMetaDataAwareDataSourceContainer container = getSelectedDataSourceContainer(event);
+               ICdmSource cdmSource = container.getCdmSource();
+               //FIXME:Remoting we need another wizard for ICdmRemoteSource
+               if(cdmSource instanceof ICdmDataSource) {
+                       Wizard wizard = new CdmDataSourceWizard((ICdmDataSource)cdmSource, CdmDataSourceWizard.Mode.CLONE);
+                       WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
+
+                       int result = dialog.open();
+
+                       if(result == IStatus.OK){
+                               CdmDataSourceViewPart view = (CdmDataSourceViewPart) StoreUtil.getView(CdmDataSourceViewPart.ID, false);
+                               if(view != null){
+                                       container.getMetaDataFromDataSource();
+                                       view.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
+
+                               }       
+                       }
+               }
+
+               return true;
+       }
+}
index 0d3faffacfbf856233518c60959127c74e3cd5cb..8aa1147e7d7a34ea840032d151a2996ba50506d9 100644 (file)
@@ -44,7 +44,7 @@ public class DeleteDataSourceHandler extends AbstractDataSourceHandler {
                        }
                        // Delete from persistent data sources          
                        for(Object object : selectedObjects){
-                               CdmPersistentDataSource dataSource = (CdmPersistentDataSource) ((CdmMetaDataAwareDataSourceContainer) object).getDataSource();
+                               CdmPersistentDataSource dataSource = (CdmPersistentDataSource) ((CdmMetaDataAwareDataSourceContainer) object).getCdmSource();
                                CdmDataSourceRepository.delete(dataSource);
                        }
                        
index 36c9696406d8ddb1cf9c36bc6b339994704b06ed..82b857ce16e7aaf1b412a5c9d471445866040e28 100644 (file)
@@ -12,9 +12,12 @@ package eu.etaxonomy.taxeditor.view.datasource.handler;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.ui.handlers.HandlerUtil;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceWizard;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
@@ -36,21 +39,24 @@ public class EditDataSourceHandler extends AbstractDataSourceHandler {
        @Override
        public boolean specificExecute(ExecutionEvent event) {
                CdmMetaDataAwareDataSourceContainer container = getSelectedDataSourceContainer(event);
-               
-               CdmDataSourceWizard wizard = new CdmDataSourceWizard(container.getDataSource());
-               WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
-                   
-               int result = dialog.open();
-               
-               if(result == IStatus.OK){
-                       CdmDataSourceViewPart view = (CdmDataSourceViewPart) StoreUtil.getView(CdmDataSourceViewPart.ID, false);
-                       if(view != null){
-                               container.getMetaDataFromDataSource();
-                               view.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
-
-                       }       
+               ICdmSource cdmSource = container.getCdmSource();
+               //FIXME:Remoting we need another wizard for ICdmRemoteSource
+               if(cdmSource instanceof ICdmDataSource) {
+                       Wizard wizard = new CdmDataSourceWizard((ICdmDataSource)cdmSource, CdmDataSourceWizard.Mode.EDIT);
+                       WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
+
+                       int result = dialog.open();
+
+                       if(result == IStatus.OK){
+                               CdmDataSourceViewPart view = (CdmDataSourceViewPart) StoreUtil.getView(CdmDataSourceViewPart.ID, false);
+                               if(view != null){
+                                       container.getMetaDataFromDataSource();
+                                       view.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
+
+                               }       
+                       }
                }
-               
-           return false;
+
+               return false;
        }
 }
index 0d51b22e19d7049d6f244e5f67e7e5076deba6ae..1d1bb51ea5d9861b45280fc4cd4c5c3e7fe53dda 100644 (file)
@@ -21,6 +21,8 @@ import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.eclipse.ui.progress.IProgressConstants;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.database.update.CdmUpdater;
 import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
@@ -51,15 +53,17 @@ public class UpdateDataSourceHandler extends AbstractDataSourceHandler {
                                "Are you sure you want to update the datasource?", SWT.NONE)){
                        return false;
                }
-               Job job = new Job("Updating datasource " + container.getDataSource().getName()){
+               Job job = new Job("Updating datasource " + container.getCdmSource().getName()){
 
                        @Override
                        protected IStatus run(IProgressMonitor monitor) {
                                CdmUpdater updater = new CdmUpdater();
                                IStatus status = null;
-
+                               ICdmSource cdmSource = container.getCdmSource();
+                               //FIXME:Remoting we need another updater for ICdmRemoteSource
+                               if(cdmSource instanceof ICdmDataSource) {
                                try{
-                                       if(updater.updateToCurrentVersion(container.getDataSource(), CdmProgressMonitorAdapter.CreateMonitor(monitor))){
+                                       if(updater.updateToCurrentVersion((ICdmDataSource)cdmSource, CdmProgressMonitorAdapter.CreateMonitor(monitor))){
                                                display.asyncExec(new Runnable(){
 
                                                        @Override
@@ -78,7 +82,7 @@ public class UpdateDataSourceHandler extends AbstractDataSourceHandler {
                                        status = new Status(IStatus.ERROR, TaxeditorStorePlugin.PLUGIN_ID, e.getMessage(), e);
                                        StoreUtil.errorDialog("Could not run updater", getClass(), status.getMessage());
                                }
-
+                               }
 
                                return status;
                        }