edu.sc.seis.fissuresUtil.database
Class HSQLRequestFilterDb

java.lang.Object
  extended by edu.sc.seis.fissuresUtil.database.AbstractDb
      extended by edu.sc.seis.fissuresUtil.database.HSQLRequestFilterDb

public class HSQLRequestFilterDb
extends AbstractDb


Field Summary
 
Fields inherited from class edu.sc.seis.fissuresUtil.database.AbstractDb
connection, databaseName, directoryName
 
Constructor Summary
HSQLRequestFilterDb(java.lang.String directoryName, java.lang.String databaseName)
           
HSQLRequestFilterDb(java.lang.String directoryName, java.lang.String databaseName, edu.iris.Fissures.IfSeismogramDC.DataCenterOperations router)
           
 
Method Summary
 void addSeismogram(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismos)
           
 edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available_data(edu.iris.Fissures.IfSeismogramDC.RequestFilter a_filterseq)
           
 edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available_data(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] a_filterseq)
           
 void create()
           
 java.lang.String getFileIds(edu.iris.Fissures.IfNetwork.ChannelId channel_id, edu.iris.Fissures.model.MicroSecondDate beginDate, edu.iris.Fissures.model.MicroSecondDate endDate)
           
 int[] getFileIds(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] requestFilters)
           
 int[] getFileIds(java.lang.String channel_id, edu.iris.Fissures.model.MicroSecondDate beginDate, edu.iris.Fissures.model.MicroSecondDate endDate)
           
 java.lang.String[] getFilePaths(int[] fileids)
           
 edu.iris.Fissures.IfSeismogramDC.LocalSeismogram getSeismogram(java.lang.String fileids)
           
 edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] getSeismograms(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] requestFilters)
           
 long getTotalSize()
           
 void insertFileInfo(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms)
          for the name of the seismogram append begin time and end time along with the channel name.
 void insertRequestFilterInfo(java.lang.String channel_id, edu.iris.Fissures.model.MicroSecondDate begin_date, edu.iris.Fissures.model.MicroSecondDate end_date, int fileid)
           
 void setMaxDataSize(long size)
          sets the maximum size in bytes of the disk cache.
protected  void trimToMaxSize()
           
 
Methods inherited from class edu.sc.seis.fissuresUtil.database.AbstractDb
getConnection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HSQLRequestFilterDb

public HSQLRequestFilterDb(java.lang.String directoryName,
                           java.lang.String databaseName)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException

HSQLRequestFilterDb

public HSQLRequestFilterDb(java.lang.String directoryName,
                           java.lang.String databaseName,
                           edu.iris.Fissures.IfSeismogramDC.DataCenterOperations router)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException
Method Detail

setMaxDataSize

public void setMaxDataSize(long size)
sets the maximum size in bytes of the disk cache. The actual size may be a few Mb more for suuport file. Care should be taken to not set this value too small, as the system will trash reloading data remotely, causing it to run very slow. The recommended value is somewhere in the tens of megabytes. The default is 50 megabytes. The size checking is only done when new data is added.


create

public void create()
            throws java.sql.SQLException
Specified by:
create in class AbstractDb
Throws:
java.sql.SQLException

available_data

public edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available_data(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] a_filterseq)
                                                                throws java.sql.SQLException
Throws:
java.sql.SQLException

available_data

public edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available_data(edu.iris.Fissures.IfSeismogramDC.RequestFilter a_filterseq)
                                                                throws java.sql.SQLException
Throws:
java.sql.SQLException

addSeismogram

public void addSeismogram(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismos)
                   throws java.sql.SQLException,
                          edu.iris.dmc.seedcodec.CodecException,
                          java.io.IOException
Throws:
java.sql.SQLException
edu.iris.dmc.seedcodec.CodecException
java.io.IOException

insertRequestFilterInfo

public void insertRequestFilterInfo(java.lang.String channel_id,
                                    edu.iris.Fissures.model.MicroSecondDate begin_date,
                                    edu.iris.Fissures.model.MicroSecondDate end_date,
                                    int fileid)
                             throws java.sql.SQLException
Throws:
java.sql.SQLException

insertFileInfo

public void insertFileInfo(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms)
                    throws edu.iris.dmc.seedcodec.CodecException,
                           java.io.IOException,
                           java.sql.SQLException
for the name of the seismogram append begin time and end time along with the channel name.

Throws:
edu.iris.dmc.seedcodec.CodecException
java.io.IOException
java.sql.SQLException

trimToMaxSize

protected void trimToMaxSize()
                      throws java.sql.SQLException
Throws:
java.sql.SQLException

getTotalSize

public long getTotalSize()
                  throws java.sql.SQLException
Throws:
java.sql.SQLException

getFileIds

public int[] getFileIds(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] requestFilters)
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

getFileIds

public int[] getFileIds(java.lang.String channel_id,
                        edu.iris.Fissures.model.MicroSecondDate beginDate,
                        edu.iris.Fissures.model.MicroSecondDate endDate)
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

getFilePaths

public java.lang.String[] getFilePaths(int[] fileids)
                                throws java.sql.SQLException
Throws:
java.sql.SQLException

getSeismograms

public edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] getSeismograms(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] requestFilters)
                                                                    throws java.sql.SQLException,
                                                                           java.io.IOException,
                                                                           edu.iris.Fissures.FissuresException
Throws:
java.sql.SQLException
java.io.IOException
edu.iris.Fissures.FissuresException

getFileIds

public java.lang.String getFileIds(edu.iris.Fissures.IfNetwork.ChannelId channel_id,
                                   edu.iris.Fissures.model.MicroSecondDate beginDate,
                                   edu.iris.Fissures.model.MicroSecondDate endDate)
                            throws java.sql.SQLException
Throws:
java.sql.SQLException

getSeismogram

public edu.iris.Fissures.IfSeismogramDC.LocalSeismogram getSeismogram(java.lang.String fileids)
                                                               throws java.sql.SQLException,
                                                                      java.io.IOException,
                                                                      edu.iris.Fissures.FissuresException
Throws:
java.sql.SQLException
java.io.IOException
edu.iris.Fissures.FissuresException