diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java index 462108616b75cea86ab03bcad5ebc0ebe8c70fe1..b824f7311dbc2df3e6bff704863c40c048292593 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java @@ -15,7 +15,7 @@ public class Main { /** * new data from KB * */ - ReaderCSV reader = new ReaderCSV("datasets/backup/activity_data.csv"); + ReaderCSV reader = new ReaderCSV("datasets/backup/activity_data.csv","preference"); reader.updater(); //Learner learner=new Learner(); //learner.preference_train("datasets/backup/preference_data.csv"); diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java index d8f94f989ff34b909679c6510a269ce1a2944b2d..72c5c1572d7f2874bba88ed0db631209a273a858 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java @@ -1,22 +1,56 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; +import java.awt.*; import java.io.FileReader; import java.io.*; +import java.util.Arrays; + import com.opencsv.CSVReader; import org.apache.http.client.fluent.Request; +import org.apache.http.HttpResponse; +import org.apache.http.entity.ContentType; + public class ReaderCSV { - //read every 3 s from csv - private static int TIME_PERIOD = 5000; + //read every 5 s from csv + //activity CSV + /** + * Col 1: smartphone acceleration x + * Col 2: smartphone acceleration y + * Col 3: smartphone acceleration z + * Col 4: smartphone rotation x + * Col 5: smartphone rotation y + * Col 6: smartphone rotation z + * Col 7: watch acceleration x + * Col 8: watch acceleration y + * Col 9: watch acceleration z + * Col 10: watch rotation x + * Col 11: watch rotation y + * Col 12: watch rotation z/*/ + //preference CSV + /** + * Col 1: Activity + * Col 2: watch brightness range "bright, medium, dimmer, dark"*/ + + private static int TIME_PERIOD = 5000; //5 second update new value private String csv_file_path; + private String csv_typ; private File file; private FileReader file_reader; private CSVReader csv_reader; private String[] next_record; private static final String ERASER_ITEM_URI = "http://localhost:4567/model/items/"; + //TODO ITEM_NAME HAS TO BE DISCUSSED + private static final String[] ACTIVITY_ITEM_NAME = {"s_acc_x","s_acc_y","s_acc_z","s_rotation_x", + "s_rotation_y","s_rotation_z","w_acc_x","w_acc_y","w_acc_z","w_rotation_x","w_rotation_y","w_rotation_z"}; + private static final String[] PREFERENCE_ITEM_NAME = { + "activity","w_brightness" + }; - public ReaderCSV(String csv_file_path) { + //csv_type is activity or preference + public ReaderCSV(String csv_file_path, String csv_type) { this.csv_file_path=csv_file_path; + this.csv_typ=csv_type; } public void updater(){ @@ -24,20 +58,34 @@ public class ReaderCSV { try { file_reader =new FileReader(file); csv_reader = new CSVReader(file_reader); - while ((next_record = csv_reader.readNext()) != null) { - //data.add(next_record); Thread.currentThread().sleep(TIME_PERIOD); - System.out.println("this is a wait" ); - for (String value : next_record) { - System.out.print(value + "\t"); - //TODO identifier for different items - Request.Put(ERASER_ITEM_URI+"/:itentifider/state" + value); + if (csv_typ =="activity"){ + String[] values = Arrays.copyOf(next_record,12); + setNewValue(values, ACTIVITY_ITEM_NAME); + } else { + String[] values = Arrays.copyOf(next_record,2); + setNewValue(values, PREFERENCE_ITEM_NAME); + } } System.out.println(); } - }catch (Exception e){ + catch (Exception e){ e.printStackTrace(); } } + private void setNewValue(String[] values, String[] name){ + int i = 0; + for(String value : values){ + String uri = ERASER_ITEM_URI + name[i] + "/state"; + try { + HttpResponse httpResponse = Request.Put(uri) + .bodyString(value, ContentType.TEXT_PLAIN) + .execute().returnResponse(); + }catch (Exception e){ + e.printStackTrace(); + } + i+=1; + } + } }