edu.sc.seis.sod.process.waveform

## Class RSChannelInfoPopulator

- java.lang.Object
- - edu.sc.seis.sod.process.waveform.RSChannelInfoPopulator

- All Implemented Interfaces:
    WaveformProcess, SodElement, Subsetter
  Direct Known Subclasses:
    RecordSectionDisplayGenerator

      public class RSChannelInfoPopulator
      extends java.lang.Object
      implements WaveformProcess

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `GENS_POPS_XPATH`
    `protected RecordSectionSpacer` | `spacer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RSChannelInfoPopulator(org.w3c.dom.Element config)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `WaveformResult` | `accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.ChannelImpl chan, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available, edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms, CookieJar cookieJar)` Processes localSeismograms, possibly modifying them.
    `java.util.List<edu.sc.seis.fissuresUtil.xml.URLDataSetSeismogram>` | `extractSeismograms(edu.sc.seis.fissuresUtil.cache.CacheEvent event)`
    `static edu.sc.seis.fissuresUtil.xml.URLDataSetSeismogram` | `extractSeismogramsFromDB(RecordSectionItem rsi)`
    `edu.iris.Fissures.IfNetwork.ChannelId[]` | `getChannelIds(java.util.List<edu.sc.seis.fissuresUtil.xml.DataSetSeismogram> dss)`
    `edu.sc.seis.fissuresUtil.display.RecordSectionDisplay` | `getConfiguredRSDisplay()`
    `java.util.List<edu.sc.seis.fissuresUtil.xml.MemoryDataSetSeismogram>` | `getDSSForRecordSectionItems(java.util.List<RecordSectionItem> rsList, edu.sc.seis.fissuresUtil.cache.CacheEvent event)`
    `static edu.iris.Fissures.IfNetwork.ChannelId` | `getMatchingChanIdByStationCode(edu.iris.Fissures.IfNetwork.ChannelId chan, edu.iris.Fissures.IfNetwork.ChannelId[] channels)`
    `static edu.iris.Fissures.IfNetwork.ChannelId` | `getMatchingChanIdIgnoreDates(edu.iris.Fissures.IfNetwork.ChannelId chan, edu.iris.Fissures.IfNetwork.ChannelId[] channels)`
    `java.lang.String` | `getOrientationId()`
    `java.lang.String` | `getRecordSectionId()`
    `java.awt.Dimension` | `getRecSecDimension()`
    `java.lang.String` | `getSaveSeisId()`
    `AbstractSeismogramWriter` | `getSeismogramWriter()`
    `static AbstractSeismogramWriter` | `getSeismogramWriter(java.lang.String saveId)`
    `java.util.List<RecordSectionItem>` | `updateTable(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.ChannelImpl channel, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available, edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms, CookieJar cookieJar)` if new channel is in the record section, best RecordSectionItems are returned.
    `java.util.List<edu.sc.seis.fissuresUtil.xml.MemoryDataSetSeismogram>` | `wrap(java.util.List<? extends edu.sc.seis.fissuresUtil.xml.DataSetSeismogram> dss)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### GENS_POPS_XPATH

          public static final java.lang.String GENS_POPS_XPATH

      See Also:
        Constant Field Values

    - #### spacer

          protected RecordSectionSpacer spacer

  - ### Constructor Detail

    - #### RSChannelInfoPopulator

          public RSChannelInfoPopulator(org.w3c.dom.Element config)
                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

  - ### Method Detail

    - #### getRecSecDimension

          public java.awt.Dimension getRecSecDimension()

    - #### getSeismogramWriter

          public AbstractSeismogramWriter getSeismogramWriter()
                                                       throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getSeismogramWriter

          public static AbstractSeismogramWriter getSeismogramWriter(java.lang.String saveId)
                                                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getDSSForRecordSectionItems

          public java.util.List<edu.sc.seis.fissuresUtil.xml.MemoryDataSetSeismogram> getDSSForRecordSectionItems(java.util.List<RecordSectionItem> rsList,
                                                                                                                  edu.sc.seis.fissuresUtil.cache.CacheEvent event)
                                                                                                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### wrap

          public java.util.List<edu.sc.seis.fissuresUtil.xml.MemoryDataSetSeismogram> wrap(java.util.List<? extends edu.sc.seis.fissuresUtil.xml.DataSetSeismogram> dss)
                                                                                    throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### accept

          public WaveformResult accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                       edu.iris.Fissures.network.ChannelImpl chan,
                                       edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original,
                                       edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available,
                                       edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms,
                                       CookieJar cookieJar)
                                throws java.lang.Exception

      Description copied from interface: `WaveformProcess`
      Processes localSeismograms, possibly modifying them.
      Specified by:
        `accept` in interface `WaveformProcess`
      Throws:
        `java.lang.Exception`

    - #### updateTable

          public java.util.List<RecordSectionItem> updateTable(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                                               edu.iris.Fissures.network.ChannelImpl channel,
                                                               edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original,
                                                               edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available,
                                                               edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms,
                                                               CookieJar cookieJar)
                                                        throws java.lang.Exception

      if new channel is in the record section, best RecordSectionItems are returned. If the new channel does not make the best list, then an empty list is returned.
      Throws:
        `java.lang.Exception`

    - #### getChannelIds

          public edu.iris.Fissures.IfNetwork.ChannelId[] getChannelIds(java.util.List<edu.sc.seis.fissuresUtil.xml.DataSetSeismogram> dss)
                                                                throws java.sql.SQLException,
                                                                       edu.sc.seis.fissuresUtil.database.NotFound

      Throws:
        `java.sql.SQLException`
        `edu.sc.seis.fissuresUtil.database.NotFound`

    - #### extractSeismograms

          public java.util.List<edu.sc.seis.fissuresUtil.xml.URLDataSetSeismogram> extractSeismograms(edu.sc.seis.fissuresUtil.cache.CacheEvent event)
                                                                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### extractSeismogramsFromDB

          public static edu.sc.seis.fissuresUtil.xml.URLDataSetSeismogram extractSeismogramsFromDB(RecordSectionItem rsi)
                                                                                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getConfiguredRSDisplay

          public edu.sc.seis.fissuresUtil.display.RecordSectionDisplay getConfiguredRSDisplay()

    - #### getMatchingChanIdIgnoreDates

          public static edu.iris.Fissures.IfNetwork.ChannelId getMatchingChanIdIgnoreDates(edu.iris.Fissures.IfNetwork.ChannelId chan,
                                                                                           edu.iris.Fissures.IfNetwork.ChannelId[] channels)

    - #### getMatchingChanIdByStationCode

          public static edu.iris.Fissures.IfNetwork.ChannelId getMatchingChanIdByStationCode(edu.iris.Fissures.IfNetwork.ChannelId chan,
                                                                                             edu.iris.Fissures.IfNetwork.ChannelId[] channels)

    - #### getOrientationId

          public java.lang.String getOrientationId()

    - #### getRecordSectionId

          public java.lang.String getRecordSectionId()

    - #### getSaveSeisId

          public java.lang.String getSaveSeisId()