Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
        // 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;
        }
Exemplo n.º 4
0
 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");
 }
Exemplo n.º 6
0
Arquivo: LabDB.cs Projeto: tordf/iLabs
        /*
        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());
        }
Exemplo n.º 7
0
 public void Add(LabTask task)
 {
     lock (tasks)
     {
         tasks.Add(task);
     }
 }
Exemplo n.º 8
0
 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;
 }
Exemplo n.º 11
0
 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");
         }
     }
 }
Exemplo n.º 12
0
 public void Remove(LabTask task)
 {
     lock (tasks)
     {
         if (tasks.ContainsKey(task.taskID))
         {
             tasks.Remove(task.taskID);
         }
         else
         {
             throw new Exception("Task not found");
         }
     }
 }
Exemplo n.º 13
0
Arquivo: LabDB.cs Projeto: tordf/iLabs
        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;
        }
Exemplo n.º 14
0
Arquivo: LabDB.cs Projeto: tordf/iLabs
        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;
        }
Exemplo n.º 15
0
        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;
        }
Exemplo n.º 16
0
 /// <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;
 }
Exemplo n.º 17
0
 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;
 }
Exemplo n.º 18
0
        public static BeeTask RestoreTask(LabTask task)
        {
            BeeTask bt = new BeeTask(task);

            return bt;
        }
Exemplo n.º 19
0
        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;
        }