/// <summary> Brings up a dialog so the user can set up the default platform meta information. </summary> /// <returns>Newly created platform meta information</returns> private PlatformMetaInformation CreatePlatformMetaInformation() { _log.Info("Platform meta information does not exist. Creating a new one."); PlatformMetaInformation platformMetaInformation = new PlatformMetaInformation(); // IDialogWindow dialog = UIFactory.NewViewPart<IDialogWindow>(); // dialog.WindowHeight = 60; // dialog.WindowWidth = 200; // IGridComposite gridComposite = UIFactory.NewWidget<IGridComposite>(dialog); // dialog.Show(); string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string defaultWorkspaceRootPath = string.Format("{0}\\Motoi\\Workspace", appDataPath); DirectoryInfo workspaceDirectoryInfo = new DirectoryInfo(defaultWorkspaceRootPath); if (!workspaceDirectoryInfo.Exists) { workspaceDirectoryInfo.Create(); } // TODO Show Message Dialog platformMetaInformation.WorkspaceDirectoryPath = workspaceDirectoryInfo.FullName; return(platformMetaInformation); }
/// <summary> Will be called directly after this instance has been created. </summary> protected override void OnInitialize() { _log.Info("Initializing..."); string metaDataFilePath = Path.Combine(MetadataFolderName, MetadataFileName); FileInfo metaDataFile = new FileInfo(metaDataFilePath); MetaDataFolder = metaDataFile.DirectoryName; _log.Info($"Meta data file: '{metaDataFile.FullName}'"); if (!metaDataFile.Exists) { _platformMetaInformation = CreatePlatformMetaInformation(); } else { _log.Info("Deserializing platform meta information"); using (FileStream fileStream = metaDataFile.OpenRead()) // TODO Try catch _platformMetaInformation = (PlatformMetaInformation)_xmlSerializer.ReadObject(fileStream); if (_platformMetaInformation == null) { _log.Error("Platform meta information null"); CreatePlatformMetaInformation(); } _log.Info("Deserialization finished"); } _log.Info($"Workspace root path: {_platformMetaInformation.WorkspaceDirectoryPath}"); Workspace = new FileSystemWorkspace( new DirectoryInfo(_platformMetaInformation .WorkspaceDirectoryPath)); // TODO Introduce workspace provider extension point // Workspace.Refresh(); // XXX 07.11.2016 Is done by ctor _log.Info("Workspace successfully set"); _log.Info("Finished"); }