/// <summary> /// Creates singleton instance of DataCollectionRequestHandler. /// </summary> /// <param name="communicationManager"> /// Handles socket communication. /// </param> /// <param name="messageSink"> /// Message sink for sending messages to execution process. /// </param> /// <returns> /// The instance of <see cref="DataCollectionRequestHandler"/>. /// </returns> public static DataCollectionRequestHandler Create( ICommunicationManager communicationManager, IMessageSink messageSink) { if (Instance == null) { ValidateArg.NotNull(communicationManager, nameof(communicationManager)); ValidateArg.NotNull(messageSink, nameof(messageSink)); lock (SyncObject) { if (Instance == null) { Instance = new DataCollectionRequestHandler( communicationManager, messageSink, DataCollectionManager.Create(messageSink), new DataCollectionTestCaseEventHandler(), JsonDataSerializer.Instance); } } } return Instance; }
static void ShowExportWindow() { string appToken = ""; string currentSceneId = ""; List <UploadSceneObject> vadrScenes = new List <UploadSceneObject>(); UnityEngine.SceneManagement.Scene currentScene = EditorSceneManager.GetActiveScene(); string currentPath = currentScene.path; if (currentPath.Length == 0) { if (EditorUtility.DisplayDialog("Save Scene", "Please save scene first to Upload model.", "Ok", "")) { return; } } else { float totalScenes = EditorBuildSettings.scenes.Length; float completedScenes = 0; foreach (EditorBuildSettingsScene S in EditorBuildSettings.scenes) { EditorUtility.DisplayProgressBar("Initializing", "Initializing Configuration Manager", completedScenes / totalScenes); completedScenes++; if (S.enabled) { string sceneId = ""; EditorSceneManager.OpenScene(S.path); DataCollectionManager dataManager = UnityEngine.Object.FindObjectOfType <DataCollectionManager>(); if (dataManager != null) { // Prefill Scene Id and App Token of already present. if (dataManager.sceneId != null) { sceneId = dataManager.sceneId; } if (S.path == currentPath) { currentSceneId = dataManager.sceneId; } if (appToken.Length == 0 && dataManager.appToken != null) { appToken = dataManager.appToken; } } vadrScenes.Add(new UploadSceneObject(sceneId, false, S.path)); } } if (currentPath.Length > 0) { EditorSceneManager.OpenScene(currentPath); } EditorUtility.ClearProgressBar(); SceneExporterManager sceneExporter = ScriptableObject.CreateInstance <SceneExporterManager>(); sceneExporter.Init(appToken, currentSceneId, vadrScenes); sceneExporter.ShowWindow(); } }
//Do this when the selectable UI object is selected. public void OnSelect(BaseEventData eventData) { Debug.Log(this.gameObject.name + " was selected"); DataCollectionManager dm = GameObject.Find("DataCollectionManager").GetComponent <DataCollectionManager>(); dm.step = 1; GameObject.Find("Input").GetComponent <Text>().text = dm.Textboxes[dm.step].text; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { string endPoint = Configuration.GetValue <string>("Secrets:endpoint"); string authKey = Configuration.GetValue <string>("Secrets:authkey"); string databaseId = Configuration.GetValue <string>("Secrets:database"); string emCollectionId = Configuration.GetValue <string>("Secrets:emCollection"); string sadCollectionId = Configuration.GetValue <string>("Secrets:sadCollection"); string redisConnectionString = Configuration.GetValue <string>("Secrets:redisConnectionString"); string sadSizeLookupCollectionId = Configuration.GetValue <string>("Secrets:sadSizeLookupCollection"); string sadFSMLookupCollectionId = Configuration.GetValue <string>("Secrets:sadFSMLookupCollection"); string enableAiTelemetry = Configuration.GetValue <string>("ApplicationInsights:enabled"); string aiKey = Configuration.GetValue <string>("ApplicationInsights:InstrumentationKey"); var cosmosClient = new CosmosClientBuilder(endPoint, authKey) .WithConnectionModeDirect() .Build(); var dataCollectionManager = new DataCollectionManager(cosmosClient, databaseId, new NetCoreCachedActiveCollectionsService()); services.AddSingleton <ILogManager>(container => new NetCoreLogManager(enableAiTelemetry)); services.AddSingleton <IEfficiencyMetricDataService, EfficiencyMetricDataService>(); services.AddSingleton <ISelfAssesmentDashboardDataService, SelfAssesmentDashboardDataService>(); services.AddSingleton <IContextDataService, ContextDataService>(); services.AddSingleton <IActiveEstablishmentsService>(container => new RedisCachedActiveEstablishmentIdsService(container.GetRequiredService <IContextDataService>(), container.GetRequiredService <IFinancialDataService>(), redisConnectionString)); services.AddSingleton <IFinancialDataService, FinancialDataService>(); services.AddSingleton <IFinancialDataRepository>(container => new CosmosDbFinancialDataRepository(dataCollectionManager, cosmosClient, databaseId, container.GetRequiredService <ILogManager>())); services.AddSingleton <IEdubaseRepository>(container => new CosmosDbEdubaseRepository(dataCollectionManager, cosmosClient, databaseId, container.GetRequiredService <ILogManager>())); services.AddSingleton <IEfficiencyMetricRepository>(container => new CosmosDBEfficiencyMetricRepository(cosmosClient, databaseId, emCollectionId, container.GetRequiredService <ILogManager>())); services.AddSingleton <ISelfAssesmentDashboardRepository>(container => new CosmosDBSelfAssesmentDashboardRepository(cosmosClient, databaseId, sadCollectionId, sadSizeLookupCollectionId, sadFSMLookupCollectionId, container.GetRequiredService <ILogManager>())); services.AddSingleton <IDataCollectionManager>(dataCollectionManager); services.AddLogging(builder => { builder.AddApplicationInsights(aiKey); }); services.AddApplicationInsightsTelemetry(); services.AddCors(options => { options.AddDefaultPolicy( builder => { builder.WithOrigins("http://localhost:4200", "http://localhost:4201"); }); }); services.AddControllers(); services.AddHsts(options => { options.Preload = true; options.IncludeSubDomains = true; options.MaxAge = TimeSpan.FromDays(365); }); //services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = true); }
/// <summary> /// Initializes a new instance of the <see cref="DataCollectionRequestHandler"/> class. /// </summary> /// <param name="messageSink"> /// The message sink. /// </param> protected DataCollectionRequestHandler(IMessageSink messageSink) : this( new SocketCommunicationManager(), messageSink, DataCollectionManager.Create(messageSink), new DataCollectionTestCaseEventHandler()) { this.messageSink = messageSink; }
void Start() { player = transform.parent.gameObject.GetComponent <Player>(); gameManager = GameManager.gameManager; rlManager = RLManager.rlManager; dataCollectionManager = DataCollectionManager.dataCollectionManager; initialPosition = gameManager.playerStartPosition; gridSize = this.gameManager.getGridSize(); startNewEpoche(); }
/// <summary> /// Initializes a new instance of the <see cref="DataCollectionRequestHandler"/> class. /// </summary> /// <param name="messageSink"> /// The message sink. /// </param> protected DataCollectionRequestHandler(IMessageSink messageSink) : this( new SocketCommunicationManager(), messageSink, DataCollectionManager.Create(messageSink), new DataCollectionTestCaseEventHandler(), JsonDataSerializer.Instance, new FileHelper()) { this.messageSink = messageSink; }
public void SessionEndedShouldNotReturnAttachmentsIfExceptionIsThrownWhileGettingAttachments() { var runSettings = string.Format(this.defaultRunSettings, this.dataCollectorSettings); var mockDataCollectionAttachmentManager = new Mock <IDataCollectionAttachmentManager>(); mockDataCollectionAttachmentManager.Setup(x => x.GetAttachments(It.IsAny <DataCollectionContext>())).Throws <Exception>(); this.dataCollectionManager = new DataCollectionManager(mockDataCollectionAttachmentManager.Object, this.mockMessageSink.Object, new Mock <IDataCollectorLoader>().Object); this.dataCollectionManager.InitializeDataCollectors(runSettings); var result = this.dataCollectionManager.SessionEnded(); Assert.AreEqual(0, result.Count); }
public DataCollectionManagerTests() { this.friendlyName = "CustomDataCollector"; this.uri = "my://custom/datacollector"; this.envVarList = new List <KeyValuePair <string, string> >(); this.mockDataCollector = new Mock <DataCollector2>(); this.mockDataCollector.As <ITestExecutionEnvironmentSpecifier>().Setup(x => x.GetTestExecutionEnvironmentVariables()).Returns(this.envVarList); this.dataCollectorSettings = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, this.friendlyName, this.uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, string.Empty)); this.mockMessageSink = new Mock <IMessageSink>(); this.mockDataCollectionAttachmentManager = new Mock <IDataCollectionAttachmentManager>(); this.mockDataCollectionAttachmentManager.SetReturnsDefault <List <AttachmentSet> >(new List <AttachmentSet>()); this.dataCollectionManager = new TestableDataCollectionManager(this.mockDataCollectionAttachmentManager.Object, this.mockMessageSink.Object, this.mockDataCollector.Object); }
public void SessionEndedShouldCancelProcessingAttachmentRequestsIfSessionIsCancelled() { var runSettings = string.Format(this.defaultRunSettings, this.dataCollectorSettings); var mockAttachmentManager = new Mock <IDataCollectionAttachmentManager>(); this.dataCollectionManager = new DataCollectionManager(mockAttachmentManager.Object, this.mockMessageSink.Object, this.dataCollectorLoader.Object); this.dataCollectionManager.InitializeDataCollectors(runSettings); this.dataCollectionManager.SessionStarted(); var result = this.dataCollectionManager.SessionEnded(true); mockAttachmentManager.Verify(x => x.Cancel(), Times.Once); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); bool periodicSendFlag = true; bool pauseSendFlag = true; bool pauseOnHeadsetRemoval = true; DataCollectionManager dataManager = (DataCollectionManager)target; if (GUILayout.Button("Configure Manager")) { List <Type> typeList = ConfigurationManager.GetAllEventCollectors(); List <VadrEventCollector> eventCollectors = new List <VadrEventCollector>(); for (int i = 0; i < typeList.Count; i++) { eventCollectors.Add(new VadrEventCollector(typeList[i], false, -1.0f)); } pauseSendFlag = dataManager.pauseSendFlag; periodicSendFlag = dataManager.periodicSendFlag; pauseOnHeadsetRemoval = dataManager.pauseOnHeadsetRemoval; GameObject gameobject = dataManager.gameObject; if (gameobject != null) { for (int i = 0; i < eventCollectors.Count; i++) { IEventCollector collector = gameobject.GetComponent(eventCollectors[i].collector) as IEventCollector; if (collector != null) { eventCollectors[i].enable = true; if ((collector.getTimeInterval() < eventCollectors[i].timeInterval) || (eventCollectors[i].timeInterval < 0)) { eventCollectors[i].timeInterval = collector.getTimeInterval(); } } } } for (int i = 0; i < eventCollectors.Count; i++) { if (eventCollectors[i].timeInterval < 0) { eventCollectors[i].timeInterval = 0.2f; } } ConfigurationManager.Init(ref dataManager, eventCollectors, dataManager.appId, dataManager.appToken, dataManager.testMode, periodicSendFlag, pauseSendFlag, pauseOnHeadsetRemoval); ConfigurationManager.ShowWindow(); } }
/// <summary> /// Initialize the configuration window /// </summary> /// <param name="manager">DataCollectionManager for which configuration is to be done</param> /// <param name="appId">Current appId if there.</param> /// <param name="appToken">Current appId if there.</param> /// <param name="testMode">Current test mode if there.</param> /// <param name="periodicSendFlag">Whether to send data periodically</param> /// <param name="pauseSendFlag">Whether to send data on pause and level load</param> public static void Init(ref DataCollectionManager manager, List <VadrEventCollector> eventCollectors, string appId, string appToken, bool testMode, bool periodicSendFlag, bool pauseSendFlag, bool pauseOnHeadsetRemoval) { ConfigurationManager.manager = manager; ConfigurationManager.appId = appId; ConfigurationManager.appToken = appToken; ConfigurationManager.testMode = testMode; ConfigurationManager.eventCollectors = eventCollectors; ConfigurationManager.periodicSendFlag = periodicSendFlag; ConfigurationManager.pauseSendFlag = pauseSendFlag; ConfigurationManager.scenes = new List <VadrScene>(); ConfigurationManager.pauseOnHeadsetRemoval = pauseOnHeadsetRemoval; errors = ""; warnings = ""; info = ""; scenesScrollPos = new Vector2(); eventsScrollPos = new Vector2(); }
public DataCollectionManagerTests() { var friendlyName = "CustomDataCollector"; var uri = "my://custom/datacollector"; this.envVarList = new List <KeyValuePair <string, string> >(); this.mockDataCollector = new Mock <DataCollector2>(); this.mockDataCollector.As <ITestExecutionEnvironmentSpecifier>().Setup(x => x.GetTestExecutionEnvironmentVariables()).Returns(this.envVarList); this.dataCollectorSettings = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, friendlyName, uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, string.Empty)); this.dataCollectorSettingsWithWrongFriendlyName = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, "anyFriendlyName", uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, string.Empty)); this.dataCollectorSettingsWithoutFriendlyName = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, string.Empty, uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, string.Empty).Replace("friendlyName=\"\"", string.Empty)); this.dataCollectorSettingsEnabled = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, friendlyName, uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, "enabled=\"true\"")); this.dataCollectorSettingsDisabled = string.Format(this.defaultRunSettings, string.Format(this.defaultDataCollectionSettings, friendlyName, uri, this.mockDataCollector.Object.GetType().AssemblyQualifiedName, typeof(DataCollectionManagerTests).GetTypeInfo().Assembly.Location, "enabled=\"false\"")); this.mockMessageSink = new Mock <IMessageSink>(); this.mockDataCollectionAttachmentManager = new Mock <IDataCollectionAttachmentManager>(); this.mockDataCollectionAttachmentManager.SetReturnsDefault <List <AttachmentSet> >(new List <AttachmentSet>()); this.dataCollectionManager = new TestableDataCollectionManager(this.mockDataCollectionAttachmentManager.Object, this.mockMessageSink.Object, this.mockDataCollector.Object); }
/// <summary> /// Save Configuration of a scene. Adds DataCollectionManager if not present /// </summary> /// <param name="vadrScene">Scene whose configuration is to be saved</param> static void SaveSceneConfiguration(VadrScene vadrScene) { EditorSceneManager.OpenScene(vadrScene.scenePath); DataCollectionManager dataManager = UnityEngine.Object.FindObjectOfType <DataCollectionManager>(); if (dataManager != null) { // Add send data option here dataManager.appId = ConfigurationManager.appId; dataManager.appToken = ConfigurationManager.appToken; dataManager.testMode = ConfigurationManager.testMode; dataManager.sceneId = vadrScene.sceneId; dataManager.pauseSendFlag = ConfigurationManager.pauseSendFlag; dataManager.periodicSendFlag = ConfigurationManager.periodicSendFlag; dataManager.pauseOnHeadsetRemoval = ConfigurationManager.pauseOnHeadsetRemoval; EditorUtility.SetDirty(dataManager); // Tells unity that it is modified and save it. AddEventScripts(dataManager.gameObject); } else { // Add send data option here PrefabUtility.InstantiatePrefab(Resources.Load("Prefabs/VadRManager") as GameObject); dataManager = UnityEngine.Object.FindObjectOfType <DataCollectionManager>(); if (dataManager != null) { // Add send data option here dataManager.appId = ConfigurationManager.appId; dataManager.appToken = ConfigurationManager.appToken; dataManager.testMode = ConfigurationManager.testMode; dataManager.sceneId = vadrScene.sceneId; dataManager.pauseSendFlag = ConfigurationManager.pauseSendFlag; dataManager.periodicSendFlag = ConfigurationManager.periodicSendFlag; dataManager.pauseOnHeadsetRemoval = ConfigurationManager.pauseOnHeadsetRemoval; EditorUtility.SetDirty(dataManager); // Tells unity that it is modified and save it. AddEventScripts(dataManager.gameObject); } } UnityEngine.SceneManagement.Scene scene = SceneManager.GetSceneByPath(vadrScene.scenePath); EditorSceneManager.SaveScene(scene); }
/// <summary> /// Setting the configuration window from current parameters /// </summary> static void ShowConfigurationWindow() { string appId = ""; string appToken = ""; bool testMode = true; bool pauseSendFlag = true; bool periodicSendFlag = true; bool pauseOnHeadsetRemoval = true; List <VadrScene> vadrScenes = new List <VadrScene>(); List <Type> typeList = ConfigurationManager.GetAllEventCollectors(); List <VadrEventCollector> eventCollectors = new List <VadrEventCollector>(); for (int i = 0; i < typeList.Count; i++) { eventCollectors.Add(new VadrEventCollector(typeList[i], false, -1.0f)); } UnityEngine.SceneManagement.Scene currentScene = EditorSceneManager.GetActiveScene(); string currentPath = currentScene.path; if (currentPath.Length > 0 || EditorUtility.DisplayDialog("", "You can lose unsaved changes", "Continue", "Cancel")) { float totalScenes = EditorBuildSettings.scenes.Length; float completedScenes = 0; foreach (EditorBuildSettingsScene S in EditorBuildSettings.scenes) { EditorUtility.DisplayProgressBar("Initializing", "Initializing Configuration Manager", completedScenes / totalScenes); completedScenes++; if (S.enabled) { string sceneId = ""; EditorSceneManager.OpenScene(S.path); DataCollectionManager dataManager = UnityEngine.Object.FindObjectOfType <DataCollectionManager>(); if (dataManager != null) { // Prefill App Id and App Token of already present. if (dataManager.sceneId != null) { sceneId = dataManager.sceneId; } if (appId.Length == 0 && dataManager.appId != null) { appId = dataManager.appId; } if (appToken.Length == 0 && dataManager.appToken != null) { appToken = dataManager.appToken; } if (testMode) { testMode = dataManager.testMode; } if (!dataManager.periodicSendFlag) { periodicSendFlag = dataManager.periodicSendFlag; } if (!dataManager.pauseSendFlag) { pauseSendFlag = dataManager.pauseSendFlag; } if (!dataManager.pauseOnHeadsetRemoval) { pauseOnHeadsetRemoval = dataManager.pauseOnHeadsetRemoval; } // Getting already attached event scripts data. GameObject gameobject = dataManager.gameObject; if (gameobject != null) { for (int i = 0; i < eventCollectors.Count; i++) { IEventCollector collector = gameobject.GetComponent(eventCollectors[i].collector) as IEventCollector; if (collector != null) { eventCollectors[i].enable = true; if ((collector.getTimeInterval() < eventCollectors[i].timeInterval) || (eventCollectors[i].timeInterval < 0)) { eventCollectors[i].timeInterval = collector.getTimeInterval(); } } } } } vadrScenes.Add(new VadrScene(S.path, sceneId)); } } for (int i = 0; i < eventCollectors.Count; i++) { if (eventCollectors[i].timeInterval < 0) { eventCollectors[i].timeInterval = 0.2f; } } if (currentPath.Length > 0) { EditorSceneManager.OpenScene(currentPath); } EditorUtility.ClearProgressBar(); ConfigurationManager.Init(vadrScenes, eventCollectors, appId, appToken, testMode, periodicSendFlag, pauseSendFlag, pauseOnHeadsetRemoval); ConfigurationManager.ShowWindow(); } }
private void Start() { rLExperimentParameters = new RLExperimentParameters((float)0.6, (float)1.0, 5); dataCollectionManager = new DataCollectionManager(); }