Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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");
        }