Guest User

Untitled

a guest
Jan 24th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. import scala.io._
  2. import java.io.File
  3. import java.util.{Date, Calendar}
  4. import java.lang.reflect.Field
  5. import java.lang.IllegalAccessException
  6.  
  7. case class Ticker(line: String) {
  8.  
  9. val data = line.split(",")
  10. val currency = data(0)
  11. val open = data(3).toDouble
  12. val high = data(4).toDouble
  13. val low = data(5).toDouble
  14. val close = data(6).toDouble
  15. val datetime = calcDateTime( data(1).slice(0,4).toInt,
  16. data(1).slice(4,6).toInt,
  17. data(1).slice(6,8).toInt,
  18. data(2).slice(0,2).toInt,
  19. data(2).slice(2,4).toInt )
  20.  
  21. def calcDateTime(year : Int, month : Int, day : Int, hour : Int, min : Int) : Date = {
  22. val cal = Calendar.getInstance()
  23. cal.set(year, month, day, hour, min)
  24. cal.add(Calendar.HOUR, 1)
  25. cal.getTime
  26. }
  27.  
  28. override def toString() = {
  29. try {
  30. getClass().getDeclaredFields().map { field:Field =>
  31. field.setAccessible(true)
  32. field.getName() + ": " + field.getType() + " = " + field.get(this).toString()
  33. }.deep.mkString("\n")
  34. }
  35. catch
  36. {
  37. case iae : IllegalAccessException => "Failed to get field"
  38. }
  39. }
  40. }
  41.  
  42. object ImportForex
  43. {
  44. def main(args : Array[String]) {
  45. Console.println("Starting")
  46. val db = connectToDB
  47. val datadir = new File("data/")
  48. datadir.listFiles.foreach { f =>
  49. Console.println(f)
  50. Source.fromFile(f).getLines.foreach { l =>
  51. store( Ticker(l) )
  52. }
  53. }
  54. }
  55.  
  56. def store(ticker : Ticker) {
  57. Console.println(ticker)
  58. }
  59.  
  60. def connectToDB = 1
  61. }
Add Comment
Please, Sign In to add comment