Beispiel #1
0
 public FileEditor()
 {
     _fileLocker = new FileLocker();
     _contents = null;
     IsFileOpened = false;
     _mode = default (FileEditorMode);
 }
Beispiel #2
0
 public FileEditor()
 {
     _fileLocker = new FileLocker(ConfigurationManager.AppSettings.Get("arbiterAppName"));
     _contents = null;
     IsFileOpened = false;
     _mode = default (FileEditorMode);
 }
Beispiel #3
0
 public FileEditor()
 {
     _resourceLocker = new ResourceLocker();
     _contents = null;
     IsFileOpened = false;
     _mode = default (FileEditorMode);
     Instance = this;
 }
Beispiel #4
0
        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;
        }
Beispiel #5
0
        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));
            }
        }
Beispiel #9
0
        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;
        }
Beispiel #10
0
 public void ReopenFileInEditorMode()
 {
     _mode = FileEditorMode.Edit;
     _contents = File.ReadAllText(FilePath);
     IsFileOpened = true;
 }