equal
deleted
inserted
replaced
18 override def next(): Map[SpssVariable, SpssValue] = |
18 override def next(): Map[SpssVariable, SpssValue] = |
19 variables map(v => (v, asValue(v))) toMap |
19 variables map(v => (v, asValue(v))) toMap |
20 |
20 |
21 private def asValue(variable: SpssVariable): SpssValue = { |
21 private def asValue(variable: SpssVariable): SpssValue = { |
22 val i = variable.index |
22 val i = variable.index |
23 if (r.isSystemMissing(i)) |
23 if (r.isSystemMissing(i)) { |
24 SystemMissing |
24 SystemMissing |
25 else |
25 } else if (variable.isNumeric) { |
26 Option(r.getDoubleValue(i)) map(x => |
26 Option(r.getDoubleValue(i)) map(x => |
27 if (r.isValueMissing(i, x)) MissingDouble(x) else DoubleValue(x) |
27 if (r.isValueMissing(i, x)) MissingDouble(x) else DoubleValue(x) |
28 ) orElse (Option(r.getStringValue(i)) map StringValue |
|
29 ) getOrElse SystemMissing |
28 ) getOrElse SystemMissing |
|
29 } else { |
|
30 Option(r.getStringValue(i)) map StringValue getOrElse SystemMissing |
|
31 } |
30 } |
32 } |
31 } |
33 } |
32 |
34 |
33 object SpssReader { |
35 object SpssReader { |
34 def apply(f: File): SpssReader = new SpssReader(new SpssDataFileReader(f)) |
36 def apply(f: File): SpssReader = new SpssReader(new SpssDataFileReader(f)) |