merge-update from trunk
authorPatric Plitzner <p.plitzner@bgbm.org>
Thu, 3 Jul 2014 15:47:13 +0000 (15:47 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Thu, 3 Jul 2014 15:47:13 +0000 (15:47 +0000)
1  2 
eu.etaxonomy.taxeditor.store/.classpath
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/build.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.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/derivateSearch/DerivateLabelProvider.java

index ee4c1eaf51a36033492cb5045bdfeef04799db80,ee4c1eaf51a36033492cb5045bdfeef04799db80..666d5b1fe50f830ec445655a369f9decdea964c1
@@@ -1,10 -1,10 +1,20 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <classpath>
--      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
++      <classpathentry exported="true" kind="lib" path="lib/bioinfweb.commons.swing.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/core-1.8.5.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/sequencing-1.8.5.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/jfreechart-1.0.17/lib/jfreechart-1.0.17-swt.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/bioinfweb.commons.tic.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/LibrAlign.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/biojava3-alignment-3.0.7.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/bioinfweb.commons.experimental.bio.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/biojava3-core-3.0.7.jar"/>
++      <classpathentry exported="true" kind="lib" path="lib/bioinfweb.commons.core.jar"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
        <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
        <classpathentry kind="src" path="src/main/resources"/>
        <classpathentry including="**/*.java" kind="src" path="src/test/resources"/>
++      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="output" path="target/classes"/>
  </classpath>
index 9344dffeabf5c66c3a341c302adff688881316be,fc199cb9dede7b084b5778351d0767191102f6a3..d2216872f27da235fabe65170d2989bad3c9473e
@@@ -52,7 -52,7 +52,32 @@@ Export-Package: eu.etaxonomy.cdm
   eu.etaxonomy.taxeditor.view.derivateSearch,
   eu.etaxonomy.taxeditor.view.detail,
   eu.etaxonomy.taxeditor.view.specimenSearch,
-- eu.etaxonomy.taxeditor.view.supplementaldata
++ eu.etaxonomy.taxeditor.view.supplementaldata,
++ info.bioinfweb.commons,
++ info.bioinfweb.commons.appversion,
++ info.bioinfweb.commons.bio,
++ info.bioinfweb.commons.bio.alignment.pairwise,
++ info.bioinfweb.commons.bio.biojava3.alignment,
++ info.bioinfweb.commons.bio.biojava3.alignment.io,
++ info.bioinfweb.commons.bio.biojava3.alignment.io.fasta,
++ info.bioinfweb.commons.bio.biojava3.alignment.io.hennig86,
++ info.bioinfweb.commons.bio.biojava3.alignment.io.mega,
++ info.bioinfweb.commons.bio.biojava3.alignment.io.nexus,
++ info.bioinfweb.commons.bio.biojava3.alignment.io.phylip,
++ info.bioinfweb.commons.bio.biojava3.alignment.template,
++ info.bioinfweb.commons.bio.biojava3.core.sequence,
++ info.bioinfweb.commons.bio.biojava3.core.sequence.compound,
++ info.bioinfweb.commons.bio.biojava3.core.sequence.io,
++ info.bioinfweb.commons.bio.biojava3.core.sequence.template,
++ info.bioinfweb.commons.bio.biojava3.core.sequence.views,
++ info.bioinfweb.commons.bio.biojavax.bio.phylo.io.nexus,
++ info.bioinfweb.commons.changemonitor,
++ info.bioinfweb.commons.collections,
++ info.bioinfweb.commons.graphics,
++ info.bioinfweb.commons.io,
++ info.bioinfweb.commons.log,
++ info.bioinfweb.commons.progress,
++ info.bioinfweb.commons.text
  Require-Bundle: org.eclipse.osgi,
   org.eclipse.ui,
   org.eclipse.jface.text,
@@@ -240,4 -235,4 +265,14 @@@ Bundle-ClassPath: .
   xpp3-1.1.4c.jar,
   xpp3_min-1.1.4c.jar,
   xstream-1.4.4.jar,
-- yjp-controller-api-redist-9.0.8.jar
++ yjp-controller-api-redist-9.0.8.jar,
++ lib/bioinfweb.commons.core.jar,
++ lib/biojava3-core-3.0.7.jar,
++ lib/bioinfweb.commons.experimental.bio.jar,
++ lib/biojava3-alignment-3.0.7.jar,
++ lib/LibrAlign.jar,
++ lib/bioinfweb.commons.tic.jar,
++ lib/jfreechart-1.0.17/lib/jfreechart-1.0.17-swt.jar,
++ lib/bioinfweb.commons.swing.jar,
++ lib/core-1.8.5.jar,
++ lib/sequencing-1.8.5.jar
index 925934e50ff1d92c868e24dda037b16c48abeb72,925934e50ff1d92c868e24dda037b16c48abeb72..0ed4bb68791fcaf03afbb3ee025bfbede0921f3a
@@@ -6,4 -6,4 +6,14 @@@ bin.includes = META-INF/,
                 .,\
                 plugin.xml,\
                 icons/,\
--               p2.inf
++               p2.inf,\
++               lib/bioinfweb.commons.core.jar,\
++               lib/biojava3-core-3.0.7.jar,\
++               lib/bioinfweb.commons.experimental.bio.jar,\
++               lib/biojava3-alignment-3.0.7.jar,\
++               lib/LibrAlign.jar,\
++               lib/bioinfweb.commons.tic.jar,\
++               lib/jfreechart-1.0.17/lib/jfreechart-1.0.17-swt.jar,\
++               lib/bioinfweb.commons.swing.jar,\
++               lib/core-1.8.5.jar,\
++               lib/sequencing-1.8.5.jar
index 3cbafb3844980b5d28ff30c1c4e23ffcb66d0208,3cbafb3844980b5d28ff30c1c4e23ffcb66d0208..34afe6bb9e57404ac6dd27f3337460ebbef0e809
@@@ -1,61 -1,61 +1,62 @@@
  // $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 info.bioinfweb.commons.bio.biojava3.alignment.SimpleAlignment;
++import info.bioinfweb.commons.bio.biojava3.alignment.template.Alignment;
++import info.bioinfweb.commons.bio.biojava3.core.sequence.compound.AlignmentAmbiguityNucleotideCompoundSet;
++import info.bioinfweb.libralign.AlignmentArea;
++import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea;
++import info.bioinfweb.libralign.pherogram.BioJavaPherogramProvider;
++import info.bioinfweb.libralign.pherogram.PherogramFormats.QualityOutputType;
++import info.bioinfweb.libralign.pherogram.PherogramHeadingView;
++import info.bioinfweb.libralign.pherogram.PherogramTraceCurveView;
++import info.bioinfweb.libralign.sequenceprovider.implementations.BioJavaSequenceDataProvider;
++import info.bioinfweb.libralign.sequenceprovider.tokenset.BioJavaTokenSet;
++
++import java.io.File;
++import java.io.IOException;
  import java.util.ArrayList;
  import java.util.List;
  
  import org.apache.log4j.Logger;
--import org.eclipse.core.commands.Command;
--import org.eclipse.core.commands.ExecutionException;
--import org.eclipse.core.commands.NotEnabledException;
--import org.eclipse.core.commands.NotHandledException;
--import org.eclipse.core.commands.common.NotDefinedException;
++import org.biojava.bio.chromatogram.ChromatogramFactory;
++import org.biojava.bio.chromatogram.UnsupportedChromatogramFormatException;
++import org.biojava3.core.sequence.DNASequence;
++import org.biojava3.core.sequence.compound.NucleotideCompound;
  import org.eclipse.core.runtime.IProgressMonitor;
  import org.eclipse.core.runtime.IStatus;
  import org.eclipse.core.runtime.Status;
  import org.eclipse.core.runtime.jobs.Job;
--import org.eclipse.jface.action.GroupMarker;
--import org.eclipse.jface.action.MenuManager;
--import org.eclipse.jface.viewers.DoubleClickEvent;
--import org.eclipse.jface.viewers.IDoubleClickListener;
--import org.eclipse.jface.viewers.StructuredSelection;
  import org.eclipse.jface.viewers.StructuredViewer;
  import org.eclipse.jface.viewers.TableViewer;
  import org.eclipse.jface.viewers.TableViewerColumn;
  import org.eclipse.swt.SWT;
++import org.eclipse.swt.custom.ScrolledComposite;
  import org.eclipse.swt.events.SelectionAdapter;
  import org.eclipse.swt.events.SelectionEvent;
  import org.eclipse.swt.layout.FillLayout;
  import org.eclipse.swt.widgets.Composite;
--import org.eclipse.swt.widgets.Control;
  import org.eclipse.swt.widgets.Display;
--import org.eclipse.swt.widgets.Menu;
  import org.eclipse.swt.widgets.Table;
  import org.eclipse.swt.widgets.TableColumn;
  import org.eclipse.ui.IMemento;
--import org.eclipse.ui.IWorkbenchActionConstants;
--import org.eclipse.ui.commands.ICommandService;
--import org.eclipse.ui.handlers.IHandlerService;
  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;
  import eu.etaxonomy.taxeditor.model.IContextListener;
  import eu.etaxonomy.taxeditor.store.CdmStore;
--import eu.etaxonomy.taxeditor.store.StoreUtil;
  
  /**
   * <p>CdmDataSourceViewPart class.</p>
@@@ -65,9 -65,9 +66,9 @@@
   * @version 1.0
   */
  public class CdmDataSourceViewPart extends ViewPart{
--      
++
      private static final Logger logger = Logger.getLogger(CdmDataSourceViewPart.class);
--      
++
        private class ContextListener extends ContextListenerAdapter{
                /* (non-Javadoc)
                 * @see eu.etaxonomy.taxeditor.model.IContextListener#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
@@@ -75,7 -75,7 +76,7 @@@
                @Override
                public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
                        monitor.subTask("Refreshing Datasource View");
--                      viewer.refresh();       
++                      viewer.refresh();
                }
  
                /* (non-Javadoc)
@@@ -84,7 -84,7 +85,7 @@@
                @Override
                public void contextStop(IMemento memento, IProgressMonitor monitor) {
                        monitor.subTask("Refreshing Datasource View");
--                      viewer.refresh();       
++                      viewer.refresh();
                }
  
                /* (non-Javadoc)
                        viewer.refresh();
                }
        }
--      
++
        private class DataSourceJob extends Job{
  
--              private List<ICdmSource> cdmSources;
++              private final List<ICdmSource> cdmSources;
  
                /**
                 * @param name
                public IStatus run(final IProgressMonitor monitor) {
                        try{
                                logger.debug("Begin of eclipse core runtime Job to Retrieve datasources");
--                              monitor.beginTask("Retrieving datasources", cdmSources.size() + 1);                     
--                              
++                              monitor.beginTask("Retrieving datasources", cdmSources.size() + 1);
++
                                final List<CdmMetaDataAwareDataSourceContainer> containers = new ArrayList<CdmMetaDataAwareDataSourceContainer>();
--                              
++
                                for(ICdmSource cdmSource : cdmSources){
                                        containers.add(new CdmMetaDataAwareDataSourceContainer(cdmSource));
                                }
--                              
++
                                Display.getDefault().asyncExec(new Runnable() {
--                                      
++
                                        @Override
                                        public void run() {
                                                viewer.setInput(containers);
                                        }
                                });
                                monitor.worked(1);
--                              
++
                                for(final CdmMetaDataAwareDataSourceContainer container : containers){
--                                      
--                                      
--                                      if(logger.isDebugEnabled()) logger.debug("  #" + container.hashCode() + " : next DataSourceContainer");                                         
++
++
++                                      if(logger.isDebugEnabled()) {
++                        logger.debug("  #" + container.hashCode() + " : next DataSourceContainer");
++                    }
                                        container.getMetaDataFromDataSource();
--                                      if(logger.isDebugEnabled()) logger.debug("  #" + container.hashCode() + " : metadata retrieved, creating new runnable ...");    
++                                      if(logger.isDebugEnabled()) {
++                        logger.debug("  #" + container.hashCode() + " : metadata retrieved, creating new runnable ...");
++                    }
                                        Display.getDefault().asyncExec(new Runnable() {
--                                              
++
                                                @Override
                                                public void run() {
--                                                      if(logger.isDebugEnabled()) logger.debug("  #" + container.hashCode() + " starting sub thread to update ...");  
++                                                      if(logger.isDebugEnabled()) {
++                                logger.debug("  #" + container.hashCode() + " starting sub thread to update ...");
++                            }
                                                        viewer.update(container, null);
--                                                      if(logger.isDebugEnabled()) logger.debug("  #" + container.hashCode() + " end of sub thread to update ...");    
++                                                      if(logger.isDebugEnabled()) {
++                                logger.debug("  #" + container.hashCode() + " end of sub thread to update ...");
++                            }
                                                }
                                        });
--                                      if(logger.isDebugEnabled()) logger.debug("  #" + container.hashCode() + " done");       
++                                      if(logger.isDebugEnabled()) {
++                        logger.debug("  #" + container.hashCode() + " done");
++                    }
                                        monitor.worked(1);
                                }
--                              
++
                        }finally{
                                monitor.done();
                        }
                        return Status.OK_STATUS;
                }
        }
--      
++
        /** Constant <code>ID="eu.etaxonomy.taxeditor.store.datasource"{trunked}</code> */
        public static String ID = "eu.etaxonomy.taxeditor.view.datasource";
--      
++
        private TableViewer viewer;
  
        private String partNameCache;
  
        private IWorkbenchSiteProgressService service;
--      
++
        private IContextListener contextListener;
  
        private CdmDataSourceViewerComparator comparator;
--      
++
        /**
         * <p>Constructor for CdmDataSourceViewPart.</p>
         */
        public CdmDataSourceViewPart(){
        }
--      
++
++      private void librAlignInit(Composite parent){
++          ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
++        scrolledComposite.setExpandHorizontal(true);
++        scrolledComposite.setExpandVertical(true);
++
++        Alignment<DNASequence, NucleotideCompound> alignment =
++                new SimpleAlignment<DNASequence, NucleotideCompound>();
++        alignment.add("Sequence 1", new DNASequence("ATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAG"));
++        alignment.add("Sequence 2", new DNASequence("AT-GTTG"));
++        alignment.add("Sequence 3", new DNASequence("AT-GTAG"));
++
++        BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider =
++                new BioJavaSequenceDataProvider<DNASequence, NucleotideCompound>(
++                        new BioJavaTokenSet<NucleotideCompound>(
++                                AlignmentAmbiguityNucleotideCompoundSet.getAlignmentAmbiguityNucleotideCompoundSet()),
++                        alignment);
++
++        AlignmentArea result = new AlignmentArea();
++        result.setSequenceProvider(sequenceProvider, false);
++        result.getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result));
++
++//        Composite alignmentWidget = result.createSWTWidget(scrolledComposite, SWT.NONE);
++//        scrolledComposite.setContent(alignmentWidget);
++//        scrolledComposite.setMinSize(alignmentWidget.computeSize(SWT.DEFAULT, SWT.DEFAULT));
++
++        //+++ConsensusSequenceArea
++        ConsensusSequenceArea consensusSequenceArea = new ConsensusSequenceArea(result);
++        Composite consensusWidget = consensusSequenceArea.createSWTWidget(scrolledComposite, SWT.NONE);
++        scrolledComposite.setContent(consensusWidget);
++
++
++        //+++PherogramTraceCurveView+++
++        PherogramTraceCurveView pherogramView = new PherogramTraceCurveView();
++        //      pherogramView.setProvider(new BioJavaPherogramProvider(ChromatogramFactory.create(
++        //      new File("data\\pherograms\\Test_pel1PCR_Pel2Wdhg_PCR-7-A_1.ab1"))));
++        try {
++            pherogramView.setProvider(new BioJavaPherogramProvider(ChromatogramFactory.create(
++                    new File("/home/pplitzner/svn/branch/taxeditor-3.4/eu.etaxonomy.taxeditor.store/lib/jfreechart-1.0.17/lib/A10001_GM106-petD_F.scf"))));
++        } catch (UnsupportedChromatogramFormatException e) {
++            // TODO Auto-generated catch block
++            e.printStackTrace();
++        } catch (IOException e) {
++            // TODO Auto-generated catch block
++            e.printStackTrace();
++        }
++        pherogramView.setHorizontalScale(1);
++        pherogramView.setVerticalScale(100);
++        pherogramView.getFormats().setQualityOutputType(QualityOutputType.ALL);
++        pherogramView.getFormats().setShowProbabilityValues(true);
++
++//        Composite pherogramWidget = pherogramView.createSWTWidget(scrolledComposite, SWT.NONE);
++//        scrolledComposite.setContent(pherogramWidget);
++//        scrolledComposite.setMinSize(pherogramWidget.computeSize(SWT.DEFAULT, SWT.DEFAULT));
++
++        //+++Pherogramm Heading View+++
++        PherogramHeadingView pherogramHeadingView = new PherogramHeadingView(pherogramView);
++//        Composite pherogramHeadingWidget = pherogramHeadingView.createSWTWidget(scrolledComposite, SWT.NONE);
++//        scrolledComposite.setContent(pherogramHeadingWidget);
++//        scrolledComposite.setMinSize(pherogramHeadingWidget.computeSize(SWT.DEFAULT, SWT.DEFAULT));
++
++      }
++
        /** {@inheritDoc} */
        @Override
        public void createPartControl(Composite parent) {
                service = (IWorkbenchSiteProgressService) getSite().getAdapter(IWorkbenchSiteProgressService.class);
                contextListener = new ContextListener();
                CdmStore.getContextManager().addContextListener(contextListener);
--              
++
                // Create top composite
                FillLayout fillLayout = new FillLayout();
                fillLayout.marginWidth = 0;
                fillLayout.marginHeight = 0;
--              fillLayout.type = SWT.VERTICAL; 
++              fillLayout.type = SWT.VERTICAL;
                parent.setLayout(fillLayout);
--              
--              viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
--                                                                                              | SWT.V_SCROLL | SWT.FULL_SELECTION);
--              getSite().setSelectionProvider(viewer);
--              
--              createColumns(viewer);
--              
--              viewer.setContentProvider(new CdmDataSourceContentProvider());
--              viewer.setLabelProvider(new CdmDataSourceLabelProvider());
--              comparator = new CdmDataSourceViewerComparator();
--              viewer.setComparator(comparator);
--              
--              
--              // register context menu
--              MenuManager menuMgr = new MenuManager();
--              menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
--              getSite().registerContextMenu(menuMgr, viewer);
--
--              Control control = viewer.getControl();
--              Menu menu = menuMgr.createContextMenu(control);
--              control.setMenu(menu);  
--              
--              // connect on doubleclick
--              viewer.addDoubleClickListener(new IDoubleClickListener() {
--
--                      public void doubleClick(DoubleClickEvent event) {
--                              if (event.getSelection() instanceof StructuredSelection) {
--                                      
--                                      Object element = ((StructuredSelection) event
--                                                      .getSelection()).getFirstElement();
--                                      if (element instanceof CdmMetaDataAwareDataSourceContainer) {
--                                              String commandId = "eu.etaxonomy.taxeditor.store.datasource.change";
--                                              
--                                              ICommandService commandService = (ICommandService)getSite().getService(ICommandService.class);
--                                              
--                                              Command command = commandService.getCommand(commandId); 
--                                              if(command.isEnabled()) {
--                                              
--                                                      IHandlerService handlerService = (IHandlerService) StoreUtil.getService(IHandlerService.class);
--                                                      
--                                                      try {
--                                                              handlerService.executeCommand(commandId, null);
--                                                      } catch (ExecutionException e) {
--                                                              StoreUtil.error(this.getClass(), e);
--                                                      } catch (NotDefinedException e) {
--                                                              StoreUtil.error(this.getClass(), e);
--                                                      } catch (NotEnabledException e) {
--                                                              StoreUtil.error(this.getClass(), e);
--                                                      } catch (NotHandledException e) {
--                                                              StoreUtil.error(this.getClass(), e);
--                                                      }
--                                              }
--                                      }
--                              }
--                      }
--              });
--              
--              refresh();
++
++        librAlignInit(parent);
++
++
++//            viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
++//                                                                                            | SWT.V_SCROLL | SWT.FULL_SELECTION);
++//            getSite().setSelectionProvider(viewer);
++//
++//            createColumns(viewer);
++//
++//            viewer.setContentProvider(new CdmDataSourceContentProvider());
++//            viewer.setLabelProvider(new CdmDataSourceLabelProvider());
++//            comparator = new CdmDataSourceViewerComparator();
++//            viewer.setComparator(comparator);
++//
++//
++//            // register context menu
++//            MenuManager menuMgr = new MenuManager();
++//            menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
++//            getSite().registerContextMenu(menuMgr, viewer);
++//
++//            Control control = viewer.getControl();
++//            Menu menu = menuMgr.createContextMenu(control);
++//            control.setMenu(menu);
++//
++//            // connect on doubleclick
++//            viewer.addDoubleClickListener(new IDoubleClickListener() {
++//
++//                    @Override
++//            public void doubleClick(DoubleClickEvent event) {
++//                            if (event.getSelection() instanceof StructuredSelection) {
++//
++//                                    Object element = ((StructuredSelection) event
++//                                                    .getSelection()).getFirstElement();
++//                                    if (element instanceof CdmMetaDataAwareDataSourceContainer) {
++//                                            String commandId = "eu.etaxonomy.taxeditor.store.datasource.change";
++//
++//                                            ICommandService commandService = (ICommandService)getSite().getService(ICommandService.class);
++//
++//                                            Command command = commandService.getCommand(commandId);
++//                                            if(command.isEnabled()) {
++//
++//                                                    IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
++//
++//                                                    try {
++//                                                            handlerService.executeCommand(commandId, null);
++//                                                    } catch (ExecutionException e) {
++//                                                            AbstractUtility.error(this.getClass(), e);
++//                                                    } catch (NotDefinedException e) {
++//                                                            AbstractUtility.error(this.getClass(), e);
++//                                                    } catch (NotEnabledException e) {
++//                                                            AbstractUtility.error(this.getClass(), e);
++//                                                    } catch (NotHandledException e) {
++//                                                            AbstractUtility.error(this.getClass(), e);
++//                                                    }
++//                                            }
++//                                    }
++//                            }
++//                    }
++//            });
++//
++//            refresh();
        }
  
--      
++
        // This will create the columns for the table
        private void createColumns(TableViewer viewer) {
                Table table = viewer.getTable();
                table.setHeaderVisible(true);
                table.setLinesVisible(true);
                table.setSortDirection(SWT.UP);
--              
++
        }
--      
++
        /**
         * <p>refresh</p>
         */
--      public void refresh(){          
++      public void refresh(){
                getService().schedule(new DataSourceJob("Loading datasources", CdmDataSourceRepository.getAll()), Job.LONG);
        }
  
        /** {@inheritDoc} */
        @Override
        public void setFocus() {
--              viewer.getControl().setFocus();
++//            viewer.getControl().setFocus();
        }
  
--      
++
        /* (non-Javadoc)
         * @see org.eclipse.ui.part.WorkbenchPart#showBusy(boolean)
         */
        public IWorkbenchSiteProgressService getService() {
                return service;
        }
--      
++
        private SelectionAdapter getSelectionAdapter(final TableColumn column,
                        final int index) {
                SelectionAdapter selectionAdapter = new SelectionAdapter() {