16 package emlab.gen.trend;
18 import java.io.BufferedReader;
19 import java.io.InputStreamReader;
21 import org.slf4j.Logger;
22 import org.slf4j.LoggerFactory;
23 import org.springframework.data.neo4j.annotation.NodeEntity;
24 import org.springframework.transaction.annotation.Transactional;
33 Logger logger = LoggerFactory.getLogger(HourlyCSVTimeSeries.class);
35 private String filename;
37 private double[] hourlyArray;
40 private void readData() {
43 logger.warn(
"Trying to read CSV file: " + filename);
45 String data =
new String();
50 InputStreamReader inputStreamReader =
new InputStreamReader(this.getClass().getResourceAsStream(filename));
51 BufferedReader bufferedReader =
new BufferedReader(inputStreamReader);
55 while ((line = bufferedReader.readLine()) != null) {
56 data = data.concat(line +
",");
58 bufferedReader.close();
60 String[] vals = data.split(
",");
61 setHourlyArray(parseString(vals), 0);
63 }
catch (Exception e) {
64 logger.error(
"Couldn't read CSV file: " + filename);
78 if (hourlyArray != null)
81 }
catch (Exception e) {
82 logger.error(
"CSV File has wrong length (!= 8760 hours");
93 public void setHourlyArray(
double[] hourlyArray,
long time) {
94 this.hourlyArray = hourlyArray;
97 private double[] parseString(String[] vals)
throws Exception {
99 if (vals.length == 8760) {
100 double[] doubleArrayData =
new double[vals.length];
101 for (
int i = 0; i <= vals.length - 1; i++) {
102 doubleArrayData[i] = Double.parseDouble(vals[i]);
104 return doubleArrayData;
106 throw new Exception();
110 public String getFilename() {
114 public void setFilename(String filename) {
115 this.filename = filename;
double[] getHourlyArray(long time)