public void SetData(ApplicationStorageView application) { this._app = application; this.lbName.Text = _app.ApplicationName; txId.Text = _app.ApplicationId; txUsername.Text = _app.Username; if (_app.TimeCreatedSet) { txCreated.Text = _app.TimeCreated.ToString(); } if (_app.TimeCompletedSet) { txCompleted.Text = _app.TimeCompleted.ToString(); } txState.Text = _app.StateString; chkPrimary.Checked = _app.Primary; txNumThreads.Text = _app.TotalThreads.ToString(); btnStop.Enabled = (_app.State != ApplicationState.Stopped); }
public void Admon_DeleteApplication(SecurityCredentials sc, ApplicationStorageView applicationToDelete) { AuthenticateUser(sc); EnsurePermission(sc, Permission.ManageAllApps); logger.Debug(String.Format("Deleting application {0}.", applicationToDelete.ApplicationId)); ManagerStorageFactory.ManagerStorage().DeleteApplication(applicationToDelete); }
public void TimeCompletedSetTestSettingIt() { ApplicationStorageView application = new ApplicationStorageView("username1"); Assert.IsFalse(application.TimeCompletedSet); application.TimeCompleted = DateTime.Now; Assert.IsTrue(application.TimeCompletedSet); }
public void TimeCreatedSetTestSettingIt() { ApplicationStorageView application = new ApplicationStorageView("username1"); Assert.IsFalse(application.TimeCreatedSet); application = new ApplicationStorageView(ApplicationState.AwaitingManifest, DateTime.Now, false, "username1"); Assert.IsTrue(application.TimeCreatedSet); }
public string AddApplication(ApplicationStorageView application) { if (application == null) { return null; } string applicationId = Guid.NewGuid().ToString(); application.ApplicationId = applicationId; _applications.Add(application); return applicationId; }
public void TotalThreadsTestNotSet() { ApplicationStorageView application = new ApplicationStorageView("username1"); try { int result = application.TotalThreads; } catch { // exception expected return; } Assert.Fail("An exception was expected"); }
public String AddApplication(ApplicationStorageView application) { if (application == null) { return null; } if (m_applications == null) { m_applications = new ArrayList(); } String applicationId = Guid.NewGuid().ToString(); application.ApplicationId = applicationId; m_applications.Add(application); return applicationId; }
public string AddApplication(ApplicationStorageView application) { if (application == null) { return null; } string applicationId = Guid.NewGuid().ToString(); application.ApplicationId = applicationId; IObjectContainer container = GetStorage(); try { container.Set(application); } finally { container.Close(); } return applicationId; }
public string AddApplication(ApplicationStorageView application) { if (application == null) { return null; } string applicationId = Guid.NewGuid().ToString(); IDataParameter timeCreatedParameter = GetParameter(DatabaseParameterDecoration() + "time_created", application.TimeCreated, DbType.DateTime); if (!application.TimeCreatedSet) { timeCreatedParameter.Value = DBNull.Value; } IDataParameter timeCompletedParameter = GetParameter(DatabaseParameterDecoration() + "time_completed", application.TimeCompleted, DbType.DateTime); if (!application.TimeCompletedSet) { timeCompletedParameter.Value = DBNull.Value; } RunSql(String.Format("insert into application(application_id, state, time_created, time_completed, is_primary, usr_name) values ('{1}', {2}, {0}time_created,{0}time_completed, {3}, '{4}')", DatabaseParameterDecoration(), applicationId, (int)application.State, Convert.ToInt16(application.Primary), Utils.MakeSqlSafe(application.Username) ), timeCreatedParameter, timeCompletedParameter); application.ApplicationId = applicationId; UpdateApplicationName(application); return applicationId; }
public ApplicationStorageView[] GetApplications(string userName, bool populateThreadCount) { ArrayList applications = new ArrayList(); string sql = string.Format("select application_id, state, time_created, is_primary, usr_name, application_name, time_completed from application where usr_name = '{0}'", Utils.MakeSqlSafe(userName)); using(IDataReader dataReader = RunSqlReturnDataReader(sql)) { while(dataReader.Read()) { // in SQL the application ID is stored as a GUID so we use GetValue instead of GetString in order to maximize compatibility with other databases string applicationId = dataReader.GetValue(dataReader.GetOrdinal("application_id")).ToString(); ApplicationState state = (ApplicationState)dataReader.GetInt32(dataReader.GetOrdinal("state")); DateTime timeCreated = GetDateTime(dataReader, "time_created"); bool primary = dataReader.GetBoolean(dataReader.GetOrdinal("is_primary")); string username = dataReader.GetString(dataReader.GetOrdinal("usr_name")); ApplicationStorageView application = new ApplicationStorageView( applicationId, state, timeCreated, primary, username ); application.ApplicationName = dataReader.IsDBNull(dataReader.GetOrdinal("application_name")) ? "" : dataReader.GetString(dataReader.GetOrdinal("application_name")); application.TimeCompleted = GetDateTime(dataReader, "time_completed"); if (populateThreadCount) { int totalThreads; int unfinishedThreads; GetApplicationThreadCount(application.ApplicationId, out totalThreads, out unfinishedThreads); application.TotalThreads = totalThreads; application.UnfinishedThreads = unfinishedThreads; } applications.Add(application); } dataReader.Close(); } return (ApplicationStorageView[])applications.ToArray(typeof(ApplicationStorageView)); }
public ApplicationStorageView GetApplication(string applicationId) { using (IDataReader dataReader = RunSqlReturnDataReader(String.Format("select application_id, application_name, state, time_created, is_primary, usr_name, time_completed from application where application_id='{0}'", applicationId))) { if(dataReader.Read()) { ApplicationState state = (ApplicationState)dataReader.GetInt32(dataReader.GetOrdinal("state")); DateTime timeCreated = GetDateTime(dataReader, "time_created"); bool primary = dataReader.GetBoolean(dataReader.GetOrdinal("is_primary")); string username = dataReader.GetString(dataReader.GetOrdinal("usr_name")); ApplicationStorageView application = new ApplicationStorageView( applicationId, state, timeCreated, primary, username ); application.ApplicationName = dataReader.IsDBNull(dataReader.GetOrdinal("application_name")) ? "" : dataReader.GetString(dataReader.GetOrdinal("application_name")); application.TimeCompleted = GetDateTime(dataReader, "time_completed"); dataReader.Close(); return application; } else { dataReader.Close(); return null; } } }
public void IsApplicationCreatorTestInvalidApplication() { ApplicationStorageView application = new ApplicationStorageView("username1"); string applicationId = _managerStorage.AddApplication(application); string invalidApplicationId = Guid.NewGuid().ToString(); SecurityCredentials sc = new SecurityCredentials("username1", HashUtil.GetHash("password1", HashType.MD5)); bool result = IsApplicationCreator(sc, invalidApplicationId); Assert.IsFalse(result); }
public void UpdateApplicationTest2() { DateTime timeCreated = DateTime.Now.AddDays(1); ApplicationStorageView updatedApplication = new ApplicationStorageView(ApplicationState.AwaitingManifest, timeCreated, false, "username2"); updatedApplication.ApplicationId = ""; ManagerStorage.UpdateApplication(updatedApplication); ApplicationStorageView[] applications = ManagerStorage.GetApplications(); Assert.AreEqual(0, applications.Length); }
/// <summary> /// Add all kinds of objects to the storage so the maintenance functions have something to play with. /// </summary> private void PrepareComplexStorageForMaintenanceTests() { DateTime pingTime = DateTime.Now; m_managerStorage.AddExecutor(new ExecutorStorageView(true, true, pingTime.AddDays(-1), "hostname", 1, "username", 1, 2, 3, 4)); m_managerStorage.AddExecutor(new ExecutorStorageView(false, true, pingTime.AddDays(2), "hostname", 1, "username", 1, 2, 3, 4)); m_managerStorage.AddExecutor(new ExecutorStorageView(true, false, pingTime.AddDays(1), "hostname", 1, "username", 1, 2, 3, 4)); m_managerStorage.AddExecutor(new ExecutorStorageView(false, false, pingTime.AddDays(-2), "hostname", 1, "username", 1, 2, 3, 4)); DateTime timeCreated = DateTime.Now; ApplicationStorageView application1; ApplicationStorageView application2; ApplicationStorageView application3; ApplicationStorageView application4; ApplicationStorageView application5; application1 = new ApplicationStorageView(ApplicationState.AwaitingManifest, timeCreated.AddDays(-5), false, "username1"); application2 = new ApplicationStorageView(ApplicationState.Stopped, timeCreated.AddDays(-4), false, "username1"); application3 = new ApplicationStorageView(ApplicationState.Ready, timeCreated.AddDays(1), false, "username1"); application4 = new ApplicationStorageView(ApplicationState.AwaitingManifest, timeCreated.AddDays(-3), false, "username1"); application5 = new ApplicationStorageView(ApplicationState.Stopped, timeCreated.AddDays(2), false, "username1"); // leave time completed not set for application1 to test that scenario as well application2.TimeCompleted = DateTime.Now.AddDays(-4); application3.TimeCompleted = DateTime.Now.AddDays(2); application4.TimeCompleted = DateTime.Now.AddDays(-3); application5.TimeCompleted = DateTime.Now.AddDays(3); m_managerStorage.AddApplication(application1); m_managerStorage.AddApplication(application2); m_managerStorage.AddApplication(application3); m_managerStorage.AddApplication(application4); m_managerStorage.AddApplication(application5); }
public void UnfinishedThreadsTestNotSet() { ApplicationStorageView application = new ApplicationStorageView("username1"); try { Int32 result = application.UnfinishedThreads; } catch { // exception expected return; } Assert.Fail("An exception was expected"); }
/// <summary> /// Initializes this thread. /// </summary> /// <param name="primary">specifies if this thread is a primary thread. A thread is primary if it is created and scheduled by the same manager</param> public void Init(bool primary) { if (primary) { ThreadStorageView threadStorage = new ThreadStorageView(_AppId, _Id, ThreadState.Ready); ManagerStorageFactory.ManagerStorage().AddThread(threadStorage); } else { ApplicationStorageView applicationStorage = ManagerStorageFactory.ManagerStorage().GetApplication(_AppId); if (applicationStorage == null) { applicationStorage = new ApplicationStorageView( _AppId, ApplicationState.AwaitingManifest, DateTime.Now, false, ""/* TODO: What's the username here?*/); ManagerStorageFactory.ManagerStorage().AddApplication(applicationStorage); } ThreadStorageView threadStorage = new ThreadStorageView(_AppId, _Id, ThreadState.Ready); ManagerStorageFactory.ManagerStorage().AddThread(threadStorage); } }
public void UpdateApplication(ApplicationStorageView updatedApplication) { if (updatedApplication == null) { return; } ArrayList newApplicationList = new ArrayList(); foreach(ApplicationStorageView application in _applications) { if (application.ApplicationId == updatedApplication.ApplicationId) { newApplicationList.Add(updatedApplication); } else { newApplicationList.Add(application); } } _applications = newApplicationList; }
public void UpdateApplicationTestIfTimeCompletedIsSaved() { // TB: due to rounding errors the milliseconds might be lost in the database storage. // TB: I think this is OK so we create a test DateTime without milliseconds DateTime now = DateTime.Now; DateTime timeCreated = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0); now = now.AddDays(1); DateTime timeCompleted = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0); string applicationId = AddApplication(ApplicationState.Ready, timeCreated, false, "test"); ApplicationStorageView updatedApplication = new ApplicationStorageView(ApplicationState.Stopped, timeCreated, true, "test2"); updatedApplication.ApplicationId = applicationId; updatedApplication.TimeCompleted = timeCompleted; ManagerStorage.UpdateApplication(updatedApplication); ApplicationStorageView[] applications = ManagerStorage.GetApplications(); Assert.AreEqual(1, applications.Length); Assert.AreEqual(timeCompleted, applications[0].TimeCompleted); }
public void DeleteApplication( ApplicationStorageView applicationToDelete ) { if( applicationToDelete == null ) { return; } ArrayList remainingApplications = new ArrayList(); ArrayList remainingThreads = new ArrayList(); foreach( ThreadStorageView thread in _threads ) { if( thread.ApplicationId != applicationToDelete.ApplicationId ) { remainingThreads.Add( thread ); } } foreach( ApplicationStorageView application in _applications ) { if( application.ApplicationId != applicationToDelete.ApplicationId ) { remainingApplications.Add( application ); } } _threads = remainingThreads; _applications = remainingApplications; }
private string AddApplication( ApplicationState state, DateTime timeCreated, bool primary, string username ) { ApplicationStorageView application = new ApplicationStorageView( state, timeCreated, primary, username ); return ManagerStorage.AddApplication(application); }
public void IsApplicationCreatorTestRealCreator() { ApplicationStorageView application = new ApplicationStorageView("username1"); string applicationId = _managerStorage.AddApplication(application); SecurityCredentials sc = new SecurityCredentials("username1", HashUtil.GetHash("password1", HashType.MD5)); bool result = IsApplicationCreator(sc, applicationId); Assert.IsTrue(result); }
public void UpdateApplication(ApplicationStorageView updatedApplication) { ApplicationStorageView application = null; IObjectContainer container = GetStorage(); try { IList<ApplicationStorageView> apps = container.Query<ApplicationStorageView>(delegate(ApplicationStorageView app) { return app.ApplicationId == updatedApplication.ApplicationId; }); if (apps.Count > 0) { application = apps[0]; container.Delete(application); container.Set(updatedApplication); } } finally { container.Close(); } }
public void DeleteApplication(ApplicationStorageView applicationToDelete) { if (applicationToDelete == null) { return; } IObjectContainer container = GetStorage(); try { IList<ThreadStorageView> threads = container.Query<ThreadStorageView>(delegate(ThreadStorageView threadFinder) { return threadFinder.ApplicationId == applicationToDelete.ApplicationId; }); foreach (ThreadStorageView thread in threads) container.Delete(thread); IList<ApplicationStorageView> apps = container.Query<ApplicationStorageView>(delegate(ApplicationStorageView appFinder) { return appFinder.ApplicationId == applicationToDelete.ApplicationId; }); foreach (ApplicationStorageView app in apps) container.Delete(app); } finally { container.Close(); } }
public void AddApplicationTestWithUsernameOnly() { ApplicationStorageView application = new ApplicationStorageView("username3"); string applicationId = ManagerStorage.AddApplication(application); Assert.AreEqual(ApplicationState.Stopped, application.State); Assert.AreEqual(true, application.Primary); Assert.IsFalse(application.TimeCreatedSet); Assert.IsTrue(applicationId != null && applicationId.Length > 0, "Invalid ApplicationID!"); }
public ApplicationStorageView[] GetApplications(string userName, bool populateThreadCount) { ApplicationStorageView[] allApplications; IObjectContainer container = GetStorage(); try { IList<ApplicationStorageView> applicationsList = container.Query<ApplicationStorageView>(delegate(ApplicationStorageView applicationFinder) { return string.IsNullOrEmpty(userName) || String.Compare(applicationFinder.Username, userName, false) == 0; }); foreach (ApplicationStorageView application in applicationsList) { if (populateThreadCount) { int totalThreads; int unfinishedThreads; GetApplicationThreadCount(application.ApplicationId, out totalThreads, out unfinishedThreads); application.TotalThreads = totalThreads; application.UnfinishedThreads = unfinishedThreads; } } if (applicationsList.Count > 0) { allApplications = new ApplicationStorageView[applicationsList.Count]; applicationsList.CopyTo(allApplications, 0); } else allApplications = new ApplicationStorageView[0]; } finally { container.Close(); } return allApplications; }
public void UpdateApplication(ApplicationStorageView updatedApplication) { if (updatedApplication == null || updatedApplication.ApplicationId == null || updatedApplication.ApplicationId.Length == 0) { return; } IDataParameter timeCreatedParameter = GetParameter(DatabaseParameterDecoration() + "time_created", updatedApplication.TimeCreated, DbType.DateTime); if (!updatedApplication.TimeCreatedSet) { timeCreatedParameter.Value = DBNull.Value; } IDataParameter timeCompletedParameter = GetParameter(DatabaseParameterDecoration() + "time_completed", updatedApplication.TimeCompleted, DbType.DateTime); if (!updatedApplication.TimeCompletedSet) { timeCompletedParameter.Value = DBNull.Value; } RunSql(String.Format("update application set state = {2}, time_created = {0}time_created, time_completed = {0}time_completed, is_primary = {3}, usr_name = '{4}' where application_id = '{1}'", DatabaseParameterDecoration(), updatedApplication.ApplicationId, (int)updatedApplication.State, Convert.ToInt16(updatedApplication.Primary), Utils.MakeSqlSafe(updatedApplication.Username) ), timeCreatedParameter, timeCompletedParameter); UpdateApplicationName(updatedApplication); }
public void UpdateApplicationTestIfApplicationNameIsSaved() { string applicationName = "another name!"; string applicationId = AddApplication(ApplicationState.Ready, DateTime.Now, false, "test"); ApplicationStorageView updatedApplication = new ApplicationStorageView(ApplicationState.Stopped, DateTime.Now, true, "test2"); updatedApplication.ApplicationId = applicationId; updatedApplication.ApplicationName = applicationName; ManagerStorage.UpdateApplication(updatedApplication); ApplicationStorageView[] applications = ManagerStorage.GetApplications(); Assert.AreEqual(1, applications.Length); Assert.AreEqual(applicationName, applications[0].ApplicationName); }
private void UpdateApplicationName(ApplicationStorageView application) { RunSql(String.Format("update application set application_name='{2}' where application_id = '{1}'", DatabaseParameterDecoration(), application.ApplicationId, Utils.MakeSqlSafe(application.ApplicationName) )); }
public void DeleteApplication(ApplicationStorageView applicationToDelete) { if (applicationToDelete == null) { return; } string sqlQuery; sqlQuery = string.Format("DELETE FROM application WHERE application_id='{0}'; DELETE FROM thread WHERE application_id='{0}';", applicationToDelete.ApplicationId); logger.Debug(String.Format("Deleting application {0} and all threads associated with it.", applicationToDelete.ApplicationId)); RunSql(sqlQuery); }
public void AddApplicationTestIfApplicationNameIsSaved() { string applicationName = "some name!"; ApplicationStorageView application = new ApplicationStorageView("username3"); application.ApplicationName = applicationName; string applicationId = ManagerStorage.AddApplication(application); ApplicationStorageView resultApplication = ManagerStorage.GetApplication(applicationId); Assert.AreEqual(applicationName, resultApplication.ApplicationName); }