diff --git a/Assets/Scripts/DataSet.cs b/Assets/Scripts/DataSet.cs index 806292a..f4eaf4c 100644 --- a/Assets/Scripts/DataSet.cs +++ b/Assets/Scripts/DataSet.cs @@ -1,77 +1,77 @@ -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using UnityEngine; - -namespace Assets.Scripts -{ - class DataSet - { - public List Samples = new List(); - - public void SaveDataSet() - { - UploadToElastic(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.AppendLine("Platform,ParticipantID,Angle,Distance,Time,Direction,DotName,TrialIndex,DotIndex,Timestamp"); - Sample first = Samples[0]; - string platform = first.Platform; - string trial = (first.TrialIndex + 1).ToString(); - string participant = first.ParticipantID.ToString(); - foreach (Sample sample in Samples) - { - stringBuilder.AppendLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}", sample.Platform, sample.ParticipantID, sample.Angle, sample.Distance, sample.Time, sample.Direction, sample.DotName, sample.TrialIndex, sample.DotIndex, sample.Timestamp)); - } - string path = Path.Combine(Application.persistentDataPath, string.Format("{0}-{1}-{2}.csv",platform,participant,trial)); - using (StreamWriter streamWriter = File.CreateText(path)) - { - streamWriter.Write(stringBuilder.ToString()); - } - UploadToAstralQueen(string.Format("{0}-{1}-{2}", platform, participant, trial), stringBuilder.ToString()); - } - - private void UploadToAstralQueen(string name, string data) - { - using (WebClient client = new WebClient()) - { - string endpoint = "http://astralqueen.bw.edu/hci/upload.php"; - - client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; - string ud = "userStudyId=" + name + "&userStudyData=" + data; - client.UploadStringAsync(new Uri(endpoint), ud); - - } - } - - private void UploadToElastic() - { - JObject body = new JObject(); - JArray samples = new JArray(); - foreach(Sample sample in Samples) - { - JObject sJ = new JObject(); - sJ.Add("platform", sample.Platform); - sJ.Add("participantId", sample.ParticipantID); - sJ.Add("angle", sample.Angle); - sJ.Add("distance", sample.Distance); - sJ.Add("time", sample.Time); - sJ.Add("direction", sample.Direction); - sJ.Add("dotName", sample.DotName); - sJ.Add("trialIndex", sample.TrialIndex); - sJ.Add("dotIndex", sample.DotIndex); - sJ.Add("timestamp", sample.Timestamp); - samples.Add(sJ); - } - body.Add("samples", samples); - using (var client = new WebClient()) - { - client.Headers[HttpRequestHeader.ContentType] = "application/json"; - client.UploadStringAsync(new Uri("http://home.superpichu.org:9009"), body.ToString()); - } - } - } -} +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using UnityEngine; + +namespace Assets.Scripts +{ + class DataSet + { + public List Samples = new List(); + + public void SaveDataSet() + { + UploadToElastic(); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendLine("Platform,ParticipantID,Angle,Distance,Time,Direction,DotName,TrialIndex,DotIndex,Timestamp"); + Sample first = Samples[0]; + string platform = first.Platform; + string trial = (first.TrialIndex + 1).ToString(); + string participant = first.ParticipantID.ToString(); + foreach (Sample sample in Samples) + { + stringBuilder.AppendLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}", sample.Platform, sample.ParticipantID, sample.Angle, sample.Distance, sample.Time, sample.Direction, sample.DotName, sample.TrialIndex, sample.DotIndex, sample.Timestamp)); + } + string path = Path.Combine(Application.persistentDataPath, string.Format("{0}-{1}-{2}.csv",platform,participant,trial)); + using (StreamWriter streamWriter = File.CreateText(path)) + { + streamWriter.Write(stringBuilder.ToString()); + } + UploadToAstralQueen(string.Format("{0}-{1}-{2}", platform, participant, trial), stringBuilder.ToString()); + } + + private void UploadToAstralQueen(string name, string data) + { + using (WebClient client = new WebClient()) + { + string endpoint = "http://mops.bw.edu/hci/upload.php"; + + client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; + string ud = "userStudyId=" + name + "&userStudyData=" + data; + client.UploadStringAsync(new Uri(endpoint), ud); + + } + } + + private void UploadToElastic() + { + JObject body = new JObject(); + JArray samples = new JArray(); + foreach(Sample sample in Samples) + { + JObject sJ = new JObject(); + sJ.Add("platform", sample.Platform); + sJ.Add("participantId", sample.ParticipantID); + sJ.Add("angle", sample.Angle); + sJ.Add("distance", sample.Distance); + sJ.Add("time", sample.Time); + sJ.Add("direction", sample.Direction); + sJ.Add("dotName", sample.DotName); + sJ.Add("trialIndex", sample.TrialIndex); + sJ.Add("dotIndex", sample.DotIndex); + sJ.Add("timestamp", sample.Timestamp); + samples.Add(sJ); + } + body.Add("samples", samples); + using (var client = new WebClient()) + { + client.Headers[HttpRequestHeader.ContentType] = "application/json"; + client.UploadStringAsync(new Uri("http://home.superpichu.org:9009"), body.ToString()); + } + } + } +}