edu.sc.seis.cormorant.plottable
Class PlottableImpl

java.lang.Object
  extended by org.omg.PortableServer.Servant
      extended by edu.iris.Fissures.IfPlottable.PlottableDCPOA
          extended by edu.sc.seis.cormorant.plottable.PlottableImpl
All Implemented Interfaces:
edu.iris.Fissures.IfPlottable.PlottableDCOperations, org.omg.CORBA.portable.InvokeHandler

public class PlottableImpl
extends edu.iris.Fissures.IfPlottable.PlottableDCPOA


Constructor Summary
PlottableImpl(boolean cacheOnly, java.lang.String dcDNS, java.lang.String dcName, int dcTries, edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator)
           
PlottableImpl(edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator, java.lang.String dcDNS, java.lang.String dcName, int dcTries)
           
PlottableImpl(edu.iris.Fissures.IfSeismogramDC.DataCenterOperations dc, edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator)
           
 
Method Summary
static edu.iris.Fissures.IfSeismogramDC.RequestFilter[] breakUpFilters(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] filters, edu.iris.Fissures.model.TimeInterval maxRequestLength)
           
protected static java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> commitPlotsToDBAndFilterForWidth(java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> chunks, int pixelsPerDay, edu.sc.seis.fissuresUtil.hibernate.PlottableDB db)
           
protected  java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> convertToCommonPixelScale(java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> chunks, edu.sc.seis.fissuresUtil.display.MicroSecondTimeRange requestRange, int pixelsPerDay)
           
 boolean custom_sizes()
           
 edu.iris.Fissures.Dimension[] get_event_sizes()
           
 edu.iris.Fissures.Plottable[] get_for_day(edu.iris.Fissures.IfNetwork.ChannelId channel_id, int year, int jday, edu.iris.Fissures.Dimension pixel_size)
           
 edu.iris.Fissures.Plottable[] get_for_event(edu.iris.Fissures.IfEvent.EventAccess event, edu.iris.Fissures.IfNetwork.ChannelId channel_id, edu.iris.Fissures.Dimension pixel_size)
           
 edu.iris.Fissures.Plottable[] get_plottable(edu.iris.Fissures.IfSeismogramDC.RequestFilter request, edu.iris.Fissures.Dimension pixel_size)
           
 edu.iris.Fissures.Dimension[] get_whole_day_sizes()
           
 edu.iris.Fissures.IfNetwork.ChannelId getBestChannelIdFromDb(edu.iris.Fissures.IfSeismogramDC.RequestFilter request)
          look for better chanId than the one in the request (IE we don't care about the start dates).
static edu.iris.Fissures.Dimension[] getDayDims()
           
 
Methods inherited from class edu.iris.Fissures.IfPlottable.PlottableDCPOA
_all_interfaces, _invoke, _this, _this
 
Methods inherited from class org.omg.PortableServer.Servant
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlottableImpl

public PlottableImpl(edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator,
                     java.lang.String dcDNS,
                     java.lang.String dcName,
                     int dcTries)

PlottableImpl

public PlottableImpl(boolean cacheOnly,
                     java.lang.String dcDNS,
                     java.lang.String dcName,
                     int dcTries,
                     edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator)

PlottableImpl

public PlottableImpl(edu.iris.Fissures.IfSeismogramDC.DataCenterOperations dc,
                     edu.sc.seis.fissuresUtil.database.ConnectionCreator connCreator)
Method Detail

custom_sizes

public boolean custom_sizes()

get_plottable

public edu.iris.Fissures.Plottable[] get_plottable(edu.iris.Fissures.IfSeismogramDC.RequestFilter request,
                                                   edu.iris.Fissures.Dimension pixel_size)
                                            throws edu.iris.Fissures.IfPlottable.UnsupportedDimension
Throws:
edu.iris.Fissures.IfPlottable.UnsupportedDimension

convertToCommonPixelScale

protected java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> convertToCommonPixelScale(java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> chunks,
                                                                                                      edu.sc.seis.fissuresUtil.display.MicroSecondTimeRange requestRange,
                                                                                                      int pixelsPerDay)

getBestChannelIdFromDb

public edu.iris.Fissures.IfNetwork.ChannelId getBestChannelIdFromDb(edu.iris.Fissures.IfSeismogramDC.RequestFilter request)
look for better chanId than the one in the request (IE we don't care about the start dates). this may break if we hook this up to a seismogram server that actually cares about dates.


commitPlotsToDBAndFilterForWidth

protected static java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> commitPlotsToDBAndFilterForWidth(java.util.List<edu.sc.seis.fissuresUtil.hibernate.PlottableChunk> chunks,
                                                                                                                    int pixelsPerDay,
                                                                                                                    edu.sc.seis.fissuresUtil.hibernate.PlottableDB db)
                                                                                                             throws java.io.IOException
Throws:
java.io.IOException

get_for_day

public edu.iris.Fissures.Plottable[] get_for_day(edu.iris.Fissures.IfNetwork.ChannelId channel_id,
                                                 int year,
                                                 int jday,
                                                 edu.iris.Fissures.Dimension pixel_size)
                                          throws edu.iris.Fissures.IfPlottable.UnsupportedDimension
Throws:
edu.iris.Fissures.IfPlottable.UnsupportedDimension

get_whole_day_sizes

public edu.iris.Fissures.Dimension[] get_whole_day_sizes()

get_event_sizes

public edu.iris.Fissures.Dimension[] get_event_sizes()

get_for_event

public edu.iris.Fissures.Plottable[] get_for_event(edu.iris.Fissures.IfEvent.EventAccess event,
                                                   edu.iris.Fissures.IfNetwork.ChannelId channel_id,
                                                   edu.iris.Fissures.Dimension pixel_size)

breakUpFilters

public static edu.iris.Fissures.IfSeismogramDC.RequestFilter[] breakUpFilters(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] filters,
                                                                              edu.iris.Fissures.model.TimeInterval maxRequestLength)

getDayDims

public static edu.iris.Fissures.Dimension[] getDayDims()