public FileEditor() { _fileLocker = new FileLocker(); _contents = null; IsFileOpened = false; _mode = default (FileEditorMode); }
public FileEditor() { _fileLocker = new FileLocker(ConfigurationManager.AppSettings.Get("arbiterAppName")); _contents = null; IsFileOpened = false; _mode = default (FileEditorMode); }
public FileEditor() { _resourceLocker = new ResourceLocker(); _contents = null; IsFileOpened = false; _mode = default (FileEditorMode); Instance = this; }
public async Task OpenFileAsync(String filePath, FileEditorMode editorMode) { Requires.NotNull(filePath, "filePath"); FilePath = filePath; _mode = editorMode; if (_mode == FileEditorMode.Edit) { if (!(await _fileLocker.TryLockFileAsync(filePath))) { throw new InvalidOperationException("Cannot open file. File is locked."); } } _contents = File.ReadAllText(FilePath); IsFileOpened = true; }
public void OpenFile(String filePath, FileEditorMode editorMode) { Requires.NotNull(filePath, "filePath"); FilePath = filePath; _mode = editorMode; if (_mode == FileEditorMode.Edit) { if (_fileLocker.IsFileLocked(FilePath)) { throw new InvalidOperationException("Cannot open file."); } _fileLocker.LockFile(FilePath); } _contents = File.ReadAllText(FilePath); IsFileOpened = true; }
/// <summary> /// Gets all app files for specified mode. /// </summary> /// <param name="org">Unique identifier of the organisation responsible for the app.</param> /// <param name="app">Application identifier which is unique within an organisation.</param> /// <param name="fileEditorMode">The mode for which files should be fetched.</param> /// <returns>A comma-separated list of all the files.</returns> public ActionResult GetServiceFiles(string org, string app, FileEditorMode fileEditorMode) { switch (fileEditorMode) { case FileEditorMode.Implementation: return(GetImplementationFiles(org, app)); case FileEditorMode.Calculation: return(GetCalculationFiles(org, app)); case FileEditorMode.Dynamics: return(GetResourceFiles(org, app, true)); case FileEditorMode.Validation: return(GetValidationFiles(org, app)); default: return(Content(string.Empty)); } }
/// <summary> /// Gets the content of a specified file for the app. /// </summary> /// <param name="org">Unique identifier of the organisation responsible for the app.</param> /// <param name="app">Application identifier which is unique within an organisation.</param> /// <param name="fileEditorMode">The mode for which files should be fetched.</param> /// <param name="fileName">The name of the file to fetch.</param> /// <returns>The content of the file.</returns> public ActionResult GetServiceFile(string org, string app, FileEditorMode fileEditorMode, string fileName) { if (!ApplicationHelper.IsValidFilename(fileName)) { return(BadRequest()); } string file = string.Empty; switch (fileEditorMode) { case FileEditorMode.Implementation: file = _repository.GetImplementationFile(org, app, fileName); break; case FileEditorMode.Calculation: file = _repository.GetImplementationFile(org, app, "Calculation/" + fileName); break; case FileEditorMode.Validation: file = _repository.GetImplementationFile(org, app, "Validation/" + fileName); break; case FileEditorMode.Dynamics: file = _repository.GetResourceFile(org, app, "Dynamics/" + fileName); break; case FileEditorMode.All: file = _repository.GetConfiguration(org, app, fileName); break; case FileEditorMode.Root: file = _repository.GetFileByRelativePath(org, app, fileName); break; default: break; } return(Content(file, "text/plain", Encoding.UTF8)); }
public ActionResult <HttpResponseMessage> SaveServiceFile(string org, string app, FileEditorMode fileEditorMode, string fileName, bool stageFile) { if (!ApplicationHelper.IsValidFilename(fileName)) { return(BadRequest()); } string content = string.Empty; try { using (var reader = new StreamReader(Request.Body)) { content = reader.ReadToEnd(); } switch (fileEditorMode) { case FileEditorMode.Implementation: if (fileName == "RuleHandler.js") { _repository.SaveResourceFile(org, app, fileName, content); } else { _repository.SaveImplementationFile(org, app, fileName, content); } break; case FileEditorMode.Dynamics: _repository.SaveResourceFile(org, app, "Dynamics/" + fileName, content); break; case FileEditorMode.Calculation: _repository.SaveImplementationFile(org, app, "Calculation/" + fileName, content); break; case FileEditorMode.Validation: _repository.SaveImplementationFile(org, app, "Validation/" + fileName, content); break; case FileEditorMode.All: _repository.SaveConfiguration(org, app, fileName, content); break; case FileEditorMode.Root: _repository.SaveFile(org, app, fileName, content); break; default: // Return 501 Not Implemented return(new HttpResponseMessage(HttpStatusCode.NotImplemented)); } if (stageFile) { _sourceControl.StageChange(org, app, fileName); } return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception) { return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } }
public void OpenFile(string filePath, FileEditorMode editorMode) { Requires.NotNull(filePath, "filePath"); FilePath = filePath; _mode = editorMode; if (_mode == FileEditorMode.Edit) { if (!_resourceLocker.TryLockResource(FilePath)) { throw new InvalidOperationException("Cannot open file. File is locked."); } } _contents = File.ReadAllText(FilePath); IsFileOpened = true; }
public void ReopenFileInEditorMode() { _mode = FileEditorMode.Edit; _contents = File.ReadAllText(FilePath); IsFileOpened = true; }