class EzproxyProviders::WebOfKnowledge

Public Class Methods

parse(path, params) click to toggle source
# File lib/logstash/filters/ezproxy_providers/webofknowledge.rb, line 4
def self.parse (path, params)

  data = {
      "provider" => "dawsonera"
  }

  if (match = /^\/([a-z_]+)\.do$/i.match(path))

    if (params.key?('product'))                
      productId = params['product'][0].kind_of?(Array) ? params['product'][0][0] : params['product'][0]
    end

    case (match[1])
    when 'Search', 'InterService'
      data['rtype'] = 'TOC'
      data['mime']  = 'HTML'
      if (productId)
        data['title_id'] = productId
      end

    when 'full_record'
      data['rtype'] = 'REF'
      data['mime']  = 'HTML'
      if (productId)
        data['title_id'] = productId
      end
      
    when 'CitationReport'
      data['rtype'] = 'ANALYSIS'
      data['mime']  = 'MISC'
      if (productId)
        data['title_id'] = productId
      end
    end
  
    if (/^([a-z]+)_GeneralSearch_input/i.match(match[1]))
      data['rtype'] = 'SEARCH'
      data['mime']  = 'HTML'

      if (productId)
        data['title_id'] = productId
      end
    end
  

  elsif (match = /^\/([a-zA-z_]*)\.action$/i.match(path))
                
    case (match[1])
    when 'JCRJournalHomeAction'
      data['rtype'] = 'TOC'
      data['mime']  = 'HTML'
    when 'JCRJournalProfileAction'
      data['rtype'] = 'TABLE'
      data['mime']  = 'HTML'

      if (params.key?('journalTitle'))
        data['publication_title'] = params['journalTitle'][0]
      end
      if (params.key?('journal'))
        data['title_id'] = params['journal'][0]
        data['unit_id']   = "impact/" +  params['journal'][0] + "/" + params['year'][0]
      end

    when 'IndicatorsAction'
      data['rtype'] = 'MAP'
      data['mime']  = 'MISC'

    when 'DocumentsAction'
      data['rtype'] = 'GRAPH'
      data['mime']  = 'MISC'

    else
      return {}
    end

  elsif ((match = /^\/([a-z]{2,3})\/analyze\.do$/i.match(path)))
    data['rtype'] = 'ANALYSIS'
    data['mime']  = 'MISC'
  end

  return data

end