/* * DataSetDescriptorAdapter.java * * Created on October 25, 2007, 11:51 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.autoplot.aggregator; import org.das2.DasException; import org.das2.dataset.DataSet; import org.das2.dataset.DataSetDescriptor; import org.das2.datum.Datum; import org.das2.datum.DatumRange; import org.das2.datum.Units; import org.das2.util.monitor.ProgressMonitor; import org.das2.dataset.TableDataSetAdapter; import org.das2.dataset.VectorDataSetAdapter; /** * wrap aggregating DataSource into das2 DataSetDescriptor. * @author jbf */ public class DataSetDescriptorAdapter extends DataSetDescriptor { AggregatingDataSource source; /** Creates a new instance of DataSetDescriptorAdapter */ public DataSetDescriptorAdapter( AggregatingDataSource source ) { this.source= source; } protected DataSet getDataSetImpl(Datum start, Datum end, Datum resolution, ProgressMonitor monitor) throws DasException { source.setViewRange( new DatumRange( start, end ) ); try { org.das2.qds.QDataSet ds= source.getDataSet( monitor ); if ( ds.rank()==1 ) { return VectorDataSetAdapter.create(ds); } else { return TableDataSetAdapter.create(ds); } } catch ( Exception e ) { throw new DasException(e.getMessage()); } } public Units getXUnits() { return Units.us2000; } }