public FileWatcherDataSource CreateBeeDataSource(Coupon expCoupon, LabTask task, string recordType, bool flushFile) { string outputDir = ConfigurationManager.AppSettings["chamberOutputDir"]; string outputFile = ConfigurationManager.AppSettings["chamberOutputFile"]; string filePath = outputDir + @"\" + outputFile; // Stop the controller and flush the data file if (flushFile) { //Flush the File FileInfo fInfo = new FileInfo(filePath); using (FileStream inFile = fInfo.Open(FileMode.Truncate)) { } } string pushChannel = ChecksumUtil.ToMD5Hash("BEElab" + task.experimentID); //Add BEElab specific attributes BeeEventHandler bEvt = new BeeEventHandler(expCoupon, task.experimentID, task.storage, recordType, ProcessAgentDB.ServiceGuid); bEvt.PusherChannel = pushChannel; //DataSourceManager dsManager = TaskProcessor.Instance.GetDataManager(task.taskID); FileWatcherDataSource fds = new FileWatcherDataSource(); fds.Path = outputDir; fds.Filter = outputFile; fds.AddFileSystemEventHandler(bEvt.OnChanged); //dsManager.AddDataSource(fds); //fds.Start(); return fds; }
public BeeTask InsertTask(int appId, long expId, string groupName, DateTime startTime, long duration, LabTask.eStatus status, long coupon_ID, string issuerGuid, string essService, string taskData) { BeeTask beeTask = null; LabDB dbManager = new LabDB(); LabTask labTask = dbManager.InsertTask(appId, expId, groupName, startTime, duration, status, coupon_ID, issuerGuid, essService, taskData); beeTask = new BeeTask(labTask); return beeTask; }
// Create DataSourceManager to manage dataSources public DataSourceManager CreateDataSourceManager(LabTask task, Coupon expCoupon) { DataSourceManager dsManager = new DataSourceManager(); // set up an experiment storage handler ExperimentStorageProxy ess = new ExperimentStorageProxy(); ess.OperationAuthHeaderValue = new OperationAuthHeader(); ess.OperationAuthHeaderValue.coupon = expCoupon; ess.Url = task.storage; dsManager.essProxy = ess; dsManager.ExperimentID = task.experimentID; //dsManager.AppKey = task.labAppID.; return dsManager; }
public BeeTask(LabTask task) { this.couponID = task.couponID; this.data = task.data; this.endTime = task.endTime; this.experimentID = task.experimentID; this.groupName = task.groupName; this.issuerGUID = task.issuerGUID; this.labAppID = task.labAppID; this.startTime = task.startTime; this.status = task.Status; this.storage = task.storage; this.taskID = task.taskID; }
public DataSourceManager(LabTask task) : this() { taskID = task.taskID; experimentID = task.experimentID; if (task.storage != null && task.storage.Length > 0) { LabDB labDB = new LabDB(); Coupon expCoupon = labDB.GetCoupon(task.couponID, task.issuerGUID); if (expCoupon != null) { essProxy = new ExperimentStorageProxy(); essProxy.Url = task.storage; essProxy.OperationAuthHeaderValue = new OperationAuthHeader(); essProxy.OperationAuthHeaderValue.coupon = expCoupon; } else throw new Exception("ExpCoupon not found"); } else throw new Exception("ESS is not specified"); }
/* CREATE PROCEDURE GetExpiredTasks @targetTime datetime AS select taskID,VIID,GroupID,StartTime,endTime,Status,CouponID,IssuerID,Data */ public LabTask[] GetExpiredTasks(DateTime targetTime) { DbConnection connection = FactoryDB.GetConnection(); // create sql command DbCommand cmd = FactoryDB.CreateCommand("GetExpiredTasks", connection); cmd.CommandType = CommandType.StoredProcedure; // populate parameters cmd.Parameters.Add(FactoryDB.CreateParameter(cmd, "@targetTime", targetTime, DbType.DateTime)); DbDataReader dataReader = null; try { connection.Open(); dataReader = cmd.ExecuteReader(); } catch (DbException e) { writeEx(e); throw e; } // id of created coupon ArrayList list = new ArrayList(); while (dataReader.Read()) { LabTask taskInfo = new LabTask(); taskInfo.taskID = dataReader.GetInt64(0); taskInfo.labAppID = dataReader.GetInt32(1); if (!dataReader.IsDBNull(2)) taskInfo.experimentID = dataReader.GetInt64(2); taskInfo.groupName = dataReader.GetString(3); taskInfo.startTime= dataReader.GetDateTime(4); taskInfo.endTime= dataReader.GetDateTime(5); taskInfo.Status = (LabTask.eStatus)dataReader.GetInt32(6); if(!DBNull.Value.Equals(dataReader.GetValue(7))) taskInfo.couponID= dataReader.GetInt64(7); if(!dataReader.IsDBNull(8)) taskInfo.issuerGUID= dataReader.GetString(8); if(!dataReader.IsDBNull(9)) taskInfo.data= dataReader.GetString(9); list.Add(taskInfo); } // close the sql connection connection.Close(); LabTask taskInfoTemp = new LabTask(); return (LabTask[]) list.ToArray(taskInfoTemp.GetType()); }
public void Add(LabTask task) { lock (tasks) { tasks.Add(task); } }
public void Remove(LabTask task) { lock (tasks) { tasks.Remove(task); } }
public override LabTask CreateLabTask() { LabTask task = null; // 8.2, 8.6, 2009, 2010, 2011, 2012, WebService switch (lvBinding) { case null: task = new LabTask(); break; case "WebService": task = new iLabs.LabView.LVWS.LabViewTask(); break; case "2012": task = new iLabs.LabView.LV2012.LabViewTask(); break; case "2011": task = new iLabs.LabView.LV2011.LabViewTask(); break; case "2010": task = new iLabs.LabView.LV2010.LabViewTask(); break; case "2009": task = new iLabs.LabView.LV2009.LabViewTask(); break; case "8.6": task = new iLabs.LabView.LV86.LabViewTask(); break; case "8.2": task = new iLabs.LabView.LV82.LabViewTask(); break; default: task = new iLabs.LabView.LVWS.LabViewTask(); break; } return task; }
public LabTask CreateLabTask(LabTask task) { LabTask newTask = CreateLabTask(); newTask.taskID = task.taskID; newTask.couponID = task.couponID; newTask.experimentID = task.experimentID; newTask.labAppID = task.labAppID; newTask.Status = task.Status; newTask.groupName = task.groupName; newTask.issuerGUID = task.issuerGUID; newTask.startTime = task.startTime; newTask.endTime = task.endTime; newTask.data = task.data; newTask.storage = task.storage; return newTask; }
public void Add(LabTask task) { lock (tasks) { if (!tasks.ContainsKey(task.taskID)) { tasks.Add(task.taskID,task); } else { throw new Exception("TaskID already being procesed"); } } }
public void Remove(LabTask task) { lock (tasks) { if (tasks.ContainsKey(task.taskID)) { tasks.Remove(task.taskID); } else { throw new Exception("Task not found"); } } }
public LabTask GetTask(long experiment_id, string sbGUID) { DbConnection connection = FactoryDB.GetConnection(); // create sql command DbCommand cmd = FactoryDB.CreateCommand("GetTaskByExperiment", connection); cmd.CommandType = CommandType.StoredProcedure; // populate parameters cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@experimentid", experiment_id,DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@sbguid", sbGUID, DbType.AnsiString,50)); DbDataReader dataReader = null; try { connection.Open(); dataReader = cmd.ExecuteReader(); } catch (DbException e) { writeEx(e); throw e; } // id of created coupon LabTask taskInfo = new LabTask(); while (dataReader.Read()) { taskInfo.taskID = dataReader.GetInt64(0); taskInfo.labAppID = dataReader.GetInt32(1); if (!dataReader.IsDBNull(2)) taskInfo.experimentID = dataReader.GetInt64(2); taskInfo.groupName = dataReader.GetString(3); taskInfo.startTime = dataReader.GetDateTime(4); taskInfo.endTime = dataReader.GetDateTime(5); taskInfo.Status = (LabTask.eStatus)dataReader.GetInt32(6); if (!DBNull.Value.Equals(dataReader.GetValue(7))) taskInfo.couponID = dataReader.GetInt64(7); if (!DBNull.Value.Equals(dataReader.GetValue(8))) taskInfo.issuerGUID = dataReader.GetString(8); if (!dataReader.IsDBNull(9)) taskInfo.data = dataReader.GetString(9); } // close the sql connection connection.Close(); return taskInfo; }
public LabTask InsertTask(int app_id, long exp_id, string groupName, DateTime startTime, long duration, LabTask.eStatus status, long coupon_ID,string issuerGuidStr, string data) { LabTask task = new LabTask(); DbConnection connection = FactoryDB.GetConnection(); DbCommand cmd = FactoryDB.CreateCommand("InsertTask", connection); cmd.CommandType = CommandType.StoredProcedure; // populate parameters cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@appid", app_id, DbType.Int32)); if(exp_id < 1) cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@expid", null, DbType.Int64)); else cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@expid", exp_id, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@groupName", groupName,DbType.String,256)); // This must be in UTC cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@startTime", startTime,DbType.DateTime)); if (duration > 0) cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@endTime",startTime.AddTicks(duration * TimeSpan.TicksPerSecond), DbType.DateTime)); else cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@endTime",DateTime.MinValue, DbType.DateTime)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@status", status,DbType.Int32)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@couponID", coupon_ID,DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@issuerGUID", issuerGuidStr, DbType.AnsiString,50)); cmd.Parameters.Add(FactoryDB.CreateParameter(cmd,"@data", data,DbType.String,2048)); // id of created task long itemID = -1; try { connection.Open(); itemID = Convert.ToInt64(cmd.ExecuteScalar()); } catch (DbException e) { writeEx(e); throw e; } finally { connection.Close(); } task.taskID = itemID; task.labAppID = app_id; task.experimentID = exp_id; task.groupName = groupName; task.startTime = startTime; if (duration > 0) task.endTime = startTime.AddTicks(duration * TimeSpan.TicksPerSecond); else task.endTime = DateTime.MinValue; task.Status = status; task.couponID = coupon_ID; task.issuerGUID = issuerGuidStr; task.data = data; return task; }
public int UpdateTask(long taskID, int app_id, long exp_id, string groupName, DateTime startTime, long duration, LabTask.eStatus status, long coupon_ID, string issuerGuidStr, string storage, string data) { //LabTask task = new LabTask(); DbConnection connection = FactoryDB.GetConnection(); DbCommand cmd = FactoryDB.CreateCommand("UpdateTask", connection); cmd.CommandType = CommandType.StoredProcedure; // populate parameters cmd.Parameters.Add(FactoryDB.CreateParameter("@taskid", taskID, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter("@appid", app_id, DbType.Int32)); if (exp_id < 1) cmd.Parameters.Add(FactoryDB.CreateParameter("@expid", null, DbType.Int64)); else cmd.Parameters.Add(FactoryDB.CreateParameter("@expid", exp_id, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter("@groupName", groupName, DbType.String, 256)); // This must be in UTC cmd.Parameters.Add(FactoryDB.CreateParameter("@startTime", startTime, DbType.DateTime)); if (duration > 0) cmd.Parameters.Add(FactoryDB.CreateParameter("@endTime", startTime.AddTicks(duration * TimeSpan.TicksPerSecond), DbType.DateTime)); else cmd.Parameters.Add(FactoryDB.CreateParameter("@endTime", DateTime.MinValue, DbType.DateTime)); cmd.Parameters.Add(FactoryDB.CreateParameter("@status", status, DbType.Int32)); cmd.Parameters.Add(FactoryDB.CreateParameter("@couponID", coupon_ID, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter("@issuerGUID", issuerGuidStr, DbType.AnsiString, 50)); cmd.Parameters.Add(FactoryDB.CreateParameter("@storage", storage, DbType.String, 512)); cmd.Parameters.Add(FactoryDB.CreateParameter("@data", data, DbType.AnsiString, 2048)); // id of created task int itemCount = -1; try { connection.Open(); itemCount = Convert.ToInt32(cmd.ExecuteScalar()); } catch (DbException e) { writeEx(e); throw e; } finally { connection.Close(); } return itemCount; }
/// <summary> /// Copy constructor to create LabView Task from task retrieved from database /// </summary> /// <param name="task"></param> public LabViewTask(LabTask task) { taskID = task.taskID; couponID = task.couponID; experimentID = task.experimentID; labAppID = task.labAppID; status = task.Status; groupName = task.groupName; issuerGUID = task.issuerGUID; startTime = task.startTime; endTime = task.endTime; data = task.data; storage = task.storage; }
protected LabTask readTask(DbDataReader dataReader) { LabTask taskInfo = new LabTask(); try { taskInfo.taskID = dataReader.GetInt64(0); taskInfo.labAppID = dataReader.GetInt32(1); if (!dataReader.IsDBNull(2)) taskInfo.experimentID = dataReader.GetInt64(2); taskInfo.groupName = dataReader.GetString(3); taskInfo.startTime = dataReader.GetDateTime(4); taskInfo.endTime = dataReader.GetDateTime(5); taskInfo.Status = (LabTask.eStatus)dataReader.GetInt32(6); if (!DBNull.Value.Equals(dataReader.GetValue(7))) taskInfo.couponID = dataReader.GetInt64(7); if (!DBNull.Value.Equals(dataReader.GetValue(8))) taskInfo.issuerGUID = dataReader.GetString(8); if (!dataReader.IsDBNull(9)) taskInfo.storage = dataReader.GetString(9); if (!dataReader.IsDBNull(10)) taskInfo.data = dataReader.GetString(10); } catch (Exception e) { taskInfo = null; } return taskInfo; }
public static BeeTask RestoreTask(LabTask task) { BeeTask bt = new BeeTask(task); return bt; }
public long InsertTaskLong(LabTask task) { DbConnection connection = FactoryDB.GetConnection(); DbCommand cmd = FactoryDB.CreateCommand("InsertTask", connection); cmd.CommandType = CommandType.StoredProcedure; // populate parameters cmd.Parameters.Add(FactoryDB.CreateParameter("@appid", task.labAppID, DbType.Int32)); if (task.experimentID < 1) cmd.Parameters.Add(FactoryDB.CreateParameter("@expid", null, DbType.Int64)); else cmd.Parameters.Add(FactoryDB.CreateParameter("@expid", task.experimentID, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter("@groupName", task.groupName, DbType.String, 256)); // This must be in UTC cmd.Parameters.Add(FactoryDB.CreateParameter("@startTime", task.startTime, DbType.DateTime)); cmd.Parameters.Add(FactoryDB.CreateParameter("@endTime", task.endTime, DbType.DateTime)); cmd.Parameters.Add(FactoryDB.CreateParameter("@status", task.Status, DbType.Int32)); cmd.Parameters.Add(FactoryDB.CreateParameter("@couponID", task.couponID, DbType.Int64)); cmd.Parameters.Add(FactoryDB.CreateParameter("@issuerGUID", task.issuerGUID, DbType.AnsiString, 50)); cmd.Parameters.Add(FactoryDB.CreateParameter("@storage", task.storage, DbType.String, 512)); cmd.Parameters.Add(FactoryDB.CreateParameter("@data", task.data, DbType.AnsiString, 2048)); // id of created task long itemID = -1; try { connection.Open(); itemID = Convert.ToInt64(cmd.ExecuteScalar()); } catch (DbException e) { writeEx(e); throw e; } finally { connection.Close(); } return itemID; }