Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task/rdmp 151 Custom Load Metadata Locations #1784

Merged
merged 35 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9cfda49
intermediate commit
JFriel Mar 20, 2024
bef1cb5
split of load directory paths
JFriel Mar 21, 2024
1166213
working with ui
JFriel Mar 21, 2024
1e9b6d5
add migration
JFriel Mar 21, 2024
cd99ef8
add tests
JFriel Mar 21, 2024
2174e44
fix version
JFriel Mar 21, 2024
18a12b5
add docs
JFriel Mar 21, 2024
ad32edb
fix image
JFriel Mar 21, 2024
50920bf
tidy up
JFriel Mar 21, 2024
e81816c
Merge branch 'develop' into task/RDMP-151-archive-to-secondary-location
JFriel Mar 22, 2024
13e7567
update patch id
JFriel Mar 26, 2024
b717f69
Merge branch 'develop' of https://github.com/HicServices/RDMP into ta…
JFriel Mar 26, 2024
813b361
Merge branch 'develop' into task/RDMP-151-archive-to-secondary-location
JFriel Mar 27, 2024
c19350d
Merge branch 'develop' of https://github.com/HicServices/RDMP into ta…
JFriel Apr 4, 2024
c28de46
interim
JFriel Apr 4, 2024
706e169
working build
JFriel Apr 4, 2024
2093ceb
fix linux pathing
JFriel Apr 4, 2024
b99a127
start up update patch
JFriel Apr 4, 2024
17aa0ba
update patch
JFriel Apr 4, 2024
c34f1fd
update tests
JFriel Apr 5, 2024
79a98b2
update patch
JFriel Apr 5, 2024
a799f62
fix typo
JFriel Apr 5, 2024
e9683d9
update docs
JFriel Apr 5, 2024
61440f3
codeql updates
JFriel Apr 5, 2024
a9b9027
use paths
JFriel Apr 5, 2024
6bf3528
upate tests
JFriel Apr 5, 2024
8f6d602
update codeql
JFriel Apr 5, 2024
7bf075f
update test
JFriel Apr 5, 2024
bacca2c
fix stub test
JFriel Apr 5, 2024
559874c
Merge branch 'release/8.2.0' into task/RDMP-151-archive-to-secondary-…
JFriel May 29, 2024
8bf4e0c
Merge branch 'release/8.2.0' into task/RDMP-151-archive-to-secondary-…
JFriel Jun 5, 2024
d797f65
Merge branch 'release/8.2.0' of https://github.com/HicServices/RDMP i…
JFriel Jun 7, 2024
2ac538a
Merge branch 'release/8.2.0' of https://github.com/HicServices/RDMP i…
JFriel Jun 7, 2024
6a3ff0e
tidy up
JFriel Jun 7, 2024
d88f116
use correct number
JFriel Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Add Key-Value store for instance settings
- Allow for Re-extractions of projects to a database, see [ExecuteFullExtractionToDatabaseMSSql](Documentation\DataExtractions\ExecuteFullExtractionToDatabaseMSSql.md)
- Add ability to customise LoadMetdata Folder Location. See [LoadMetadata](Documentation\DataLoadEngine\LoadMetadata.md)
- Add ability to point a catalogue to a new data source [Documentation](./Documentation/Catalogues/UpdateCatalogueDataLocation.md)
- Allow DQE graphs to be scrollable and scalable
- Allow for partial refreshes of time-based DQE charts
Expand Down
2 changes: 1 addition & 1 deletion Documentation/CodeTutorials/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ Yes, [determining database types from untyped data (e.g. CSV)](./DataTableUpload

<a name="dle-folders"></a>
### What is the purpose of the the data load folders (ForLoading, ForArchiving etc)?
RDMP data load jobs are configured by creating a [LoadMetadata]. When you create a new [LoadMetadata] you will be prompted to choose/create a set of load folders. The current value is stored in the `LocationOfFlatFiles` field of [LoadMetadata]. The directories created have the following layout:
RDMP data load jobs are configured by creating a [LoadMetadata]. When you create a new [LoadMetadata] you will be prompted to choose/create a set of load folders. The default directories created have the following layout:

```
someFolder
Expand Down
Binary file added Documentation/DataLoadEngine/Images/lmdConfig.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions Documentation/DataLoadEngine/LoadMetadata.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Load Metadata
The Load Metadata stores a reference to the directory you want your data load pipeline to use.
This directory will be populated with a number of folders
```
- MyFolder
|_ Data
| |_ Cache
| |_ ForArchiving
| |_ ForLoading
|_ Executables
```
The ForLoading Directory is used as a holding pen for data that you are trying to load into the system

The ForArchiving Directory is used to store a compressed varion of the data involved in the data load for archiving purposes

The Executables directory is provided for storing executable files and/or sql scripts that you might want to run during the load.

The Cache folder is used for the RDMP caching engine (long running fetching tasks e.g. pulling images from a PACS server or reports from a webservice).


## Using Different Locations for each Load Metadata Directory
N.B. This is an advanced feature and should be used with caution.

![Load Metadata Config](./Images/lmdConfig.PNG)


Some users may with to store their archives, for example, in a nother location or disk.
RDMP allows this by having the user specify the directory they wish each type of data to be written to.

This functionality will write files directly into this folder, not into a "Data" subfolder.
It is not recommended to set each folder option to the same location as RDMP will clean up the "ForLoading" directory and delete all files, including the archive, during this step.


6 changes: 5 additions & 1 deletion Rdmp.Core.Tests/Caching/Integration/CachingHostTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
using Rdmp.Core.Curation;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.Curation.Data.Cache;
using Rdmp.Core.Curation.Data.DataLoad;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Tests.Common;
Expand All @@ -39,7 +40,10 @@ public void CacheHostOutwithPermissionWindow()

var cp = WhenIHaveA<CacheProgress>();
var loadMetadata = cp.LoadProgress.LoadMetadata;
loadMetadata.LocationOfFlatFiles = loadDirectory.RootPath.FullName;
loadMetadata.LocationOfForLoadingDirectory = Path.Combine(loadDirectory.RootPath.FullName , ((LoadMetadata)loadMetadata).DefaultForLoadingPath);
loadMetadata.LocationOfForArchivingDirectory = Path.Combine(loadDirectory.RootPath.FullName , ((LoadMetadata)loadMetadata).DefaultForArchivingPath);
loadMetadata.LocationOfExecutablesDirectory = Path.Combine(loadDirectory.RootPath.FullName , ((LoadMetadata)loadMetadata).DefaultExecutablesPath);
loadMetadata.LocationOfCacheDirectory = Path.Combine(loadDirectory.RootPath.FullName , ((LoadMetadata)loadMetadata).DefaultCachePath);

// This feels a bit nasty, but quick and much better than having the test wait for an arbitrary time period.
var listener = new ExpectedNotificationListener("Download not permitted at this time, sleeping for 60 seconds");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,10 @@ public void FetchMultipleDays_Success(bool singleDay)
true);

var lmd = Substitute.For<ILoadMetadata>();
lmd.LocationOfFlatFiles = projDir.RootPath.FullName;
lmd.LocationOfForLoadingDirectory = Path.Combine(projDir.RootPath.FullName , Path.Combine("Data", "ForLoading"));
lmd.LocationOfForArchivingDirectory = Path.Combine(projDir.RootPath.FullName , Path.Combine("Data", "ForArchiving"));
lmd.LocationOfExecutablesDirectory = Path.Combine(projDir.RootPath.FullName ,"Executables");
lmd.LocationOfCacheDirectory = Path.Combine(projDir.RootPath.FullName , Path.Combine("Data", "Cache"));

var loadProgress = Substitute.For<ILoadProgress>();
loadProgress.OriginDate.Returns(new DateTime(2001, 01, 01));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,41 @@ public void TestCreateNewDataLoadDirectory_WithLoadMetadata()
if (Directory.Exists(root)) Directory.Delete(root, true);
var lmd = WhenIHaveA<LoadMetadata>();

Assert.That(lmd.LocationOfFlatFiles, Is.Null);
Assert.That(lmd.LocationOfForLoadingDirectory, Is.Null);

Run("CreateNewDataLoadDirectory", $"LoadMetadata:{lmd.ID}", root);

Assert.Multiple(() =>
{
Assert.That(Directory.Exists(root));
Assert.That(lmd.LocationOfFlatFiles, Is.EqualTo(root));
Assert.That(lmd.LocationOfForLoadingDirectory, Is.EqualTo($"{root}\\Data\\ForLoading"));
Assert.That(lmd.LocationOfForArchivingDirectory, Is.EqualTo($"{root}\\Data\\ForArchiving"));
Assert.That(lmd.LocationOfExecutablesDirectory, Is.EqualTo($"{root}\\Executables"));
Assert.That(lmd.LocationOfCacheDirectory, Is.EqualTo($"{root}\\Data\\Cache"));
});
}

[Test]
public void TestCreateNewDataLoadDirectory_WithSplitLoadMetadata()
{
var root = Path.Combine(TestContext.CurrentContext.WorkDirectory, "def");
if (Directory.Exists(root)) Directory.Delete(root, true);
var lmd = WhenIHaveA<LoadMetadata>();

Assert.That(lmd.LocationOfForLoadingDirectory, Is.Null);
Assert.That(lmd.LocationOfForArchivingDirectory, Is.Null);
Assert.That(lmd.LocationOfExecutablesDirectory, Is.Null);
Assert.That(lmd.LocationOfCacheDirectory, Is.Null);

Run("CreateNewSplitDataLoadDirectory", $"LoadMetadata:{lmd.ID}", root, root, root, root);

Assert.Multiple(() =>
{
Assert.That(lmd.LocationOfForLoadingDirectory, Is.EqualTo(root));
Assert.That(lmd.LocationOfForArchivingDirectory, Is.EqualTo(root));
Assert.That(lmd.LocationOfExecutablesDirectory, Is.EqualTo(root));
Assert.That(lmd.LocationOfCacheDirectory, Is.EqualTo(root));

});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,10 @@ protected override void SetUp()
_LoadDirectory =
LoadDirectory.CreateDirectoryStructure(new DirectoryInfo(TestContext.CurrentContext.TestDirectory),
@"EndToEndCacheTest", true);
_lmd.LocationOfFlatFiles = _LoadDirectory.RootPath.FullName;
_lmd.LocationOfForLoadingDirectory = Path.Combine(_LoadDirectory.RootPath.FullName , _lmd.DefaultForLoadingPath);
_lmd.LocationOfForArchivingDirectory = Path.Combine(_LoadDirectory.RootPath.FullName , _lmd.DefaultForArchivingPath);
_lmd.LocationOfExecutablesDirectory = Path.Combine(_LoadDirectory.RootPath.FullName , _lmd.DefaultExecutablesPath);
_lmd.LocationOfCacheDirectory = Path.Combine(_LoadDirectory.RootPath.FullName , _lmd.DefaultCachePath);
_lmd.SaveToDatabase();

Clear(_LoadDirectory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
using Tests.Common;
using Tests.Common.Scenarios;
using TypeGuesser;
using System.IO;

namespace Rdmp.Core.Tests.CommandLine.AutomationLoopTests;

Expand Down Expand Up @@ -44,10 +45,11 @@ public void TestDle_DodgyColumnNames(DatabaseType dbType)
});

var cata = Import(tbl);
var lmd = new LoadMetadata(CatalogueRepository, nameof(TestDle_DodgyColumnNames))
{
LocationOfFlatFiles = LoadDirectory.RootPath.FullName
};
var lmd = new LoadMetadata(CatalogueRepository, nameof(TestDle_DodgyColumnNames));
lmd.LocationOfForLoadingDirectory = Path.Combine(LoadDirectory.RootPath.FullName , lmd.DefaultForLoadingPath);
lmd.LocationOfForArchivingDirectory = Path.Combine(LoadDirectory.RootPath.FullName , lmd.DefaultForArchivingPath);
lmd.LocationOfExecutablesDirectory = Path.Combine(LoadDirectory.RootPath.FullName , lmd.DefaultExecutablesPath);
lmd.LocationOfCacheDirectory = Path.Combine(LoadDirectory.RootPath.FullName , lmd.DefaultCachePath);
lmd.SaveToDatabase();

CreateFlatFileAttacher(lmd, "Troll.csv", cata.GetTableInfoList(false).Single());
Expand Down
12 changes: 10 additions & 2 deletions Rdmp.Core.Tests/Curation/Integration/LoadMetadataTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
// You should have received a copy of the GNU General Public License along with RDMP. If not, see <https://www.gnu.org/licenses/>.

using System;
using System.IO;
using NUnit.Framework;
using Rdmp.Core.Curation;
using Rdmp.Core.Curation.Data.DataLoad;
using Rdmp.Core.DataLoad.Engine.Checks.Checkers;
using Rdmp.Core.DataLoad.Engine.DatabaseManagement.EntityNaming;
Expand All @@ -24,11 +26,17 @@ public void CreateNewAndGetBackFromDatabase()

try
{
loadMetadata.LocationOfFlatFiles = TestContext.CurrentContext.TestDirectory;
loadMetadata.LocationOfForLoadingDirectory = Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultForLoadingPath);
loadMetadata.LocationOfForArchivingDirectory = Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultForArchivingPath);
loadMetadata.LocationOfExecutablesDirectory = Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultExecutablesPath);
loadMetadata.LocationOfCacheDirectory = Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultCachePath);
loadMetadata.SaveToDatabase();

var loadMetadataWithIdAfterwards = CatalogueRepository.GetObjectByID<LoadMetadata>(loadMetadata.ID);
Assert.That(TestContext.CurrentContext.TestDirectory, Is.EqualTo(loadMetadataWithIdAfterwards.LocationOfFlatFiles));
Assert.That(Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultForLoadingPath), Is.EqualTo(loadMetadataWithIdAfterwards.LocationOfForLoadingDirectory));
Assert.That(Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultForArchivingPath), Is.EqualTo(loadMetadataWithIdAfterwards.LocationOfForArchivingDirectory));
Assert.That(Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultExecutablesPath), Is.EqualTo(loadMetadataWithIdAfterwards.LocationOfExecutablesDirectory));
Assert.That(Path.Combine(TestContext.CurrentContext.TestDirectory, loadMetadata.DefaultCachePath), Is.EqualTo(loadMetadataWithIdAfterwards.LocationOfCacheDirectory));
}
finally
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
using Rdmp.Core.ReusableLibraryCode.Checks;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Tests.Common;
using Rdmp.Core.Curation.Data.DataLoad;

namespace Rdmp.Core.Tests.Curation.Integration;

Expand Down Expand Up @@ -69,7 +70,10 @@ public void LoadProgress_JobFactory_NoDates()
"LoadProgress_JobFactory_NoDates", true);

var lmd = lp.LoadMetadata;
lmd.LocationOfFlatFiles = dir.RootPath.FullName;
lmd.LocationOfForLoadingDirectory = Path.Combine(dir.RootPath.FullName , ((LoadMetadata)lmd).DefaultForLoadingPath);
lmd.LocationOfForArchivingDirectory = Path.Combine(dir.RootPath.FullName , ((LoadMetadata)lmd).DefaultForArchivingPath);
lmd.LocationOfExecutablesDirectory = Path.Combine(dir.RootPath.FullName , ((LoadMetadata)lmd).DefaultExecutablesPath);
lmd.LocationOfCacheDirectory = Path.Combine(dir.RootPath.FullName , ((LoadMetadata)lmd).DefaultCachePath);

foreach (var cata in lmd.GetAllCatalogues())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ public void CreateTask()
_dir.Create();

var hicdir = LoadDirectory.CreateDirectoryStructure(_dir, "ProjDir", true);
_lmd.LocationOfFlatFiles = hicdir.RootPath.FullName;
_lmd.LocationOfForLoadingDirectory = Path.Combine(hicdir.RootPath.FullName, _lmd.DefaultForLoadingPath);
_lmd.LocationOfForArchivingDirectory = Path.Combine(hicdir.RootPath.FullName, _lmd.DefaultForArchivingPath);
_lmd.LocationOfExecutablesDirectory = Path.Combine(hicdir.RootPath.FullName, _lmd.DefaultExecutablesPath);
_lmd.LocationOfCacheDirectory = Path.Combine(hicdir.RootPath.FullName, _lmd.DefaultCachePath);
_lmd.SaveToDatabase();

var c = new Catalogue(CatalogueRepository, "c");
Expand Down Expand Up @@ -104,7 +107,10 @@ public void MEFIncompatibleType()
[Test]
public void MEFCompatibleType_NoProjectDirectory()
{
_lmd.LocationOfFlatFiles = null;
_lmd.LocationOfForLoadingDirectory = null;
_lmd.LocationOfForArchivingDirectory = null;
_lmd.LocationOfExecutablesDirectory = null;
_lmd.LocationOfCacheDirectory = null;
_lmd.SaveToDatabase();

_task.ProcessTaskType = ProcessTaskType.Attacher;
Expand All @@ -114,7 +120,7 @@ public void MEFCompatibleType_NoProjectDirectory()
_task.CreateArgumentsForClassIfNotExists<AnySeparatorFileAttacher>();

var ex = Assert.Throws<Exception>(() => _checker.Check(ThrowImmediatelyCheckNotifier.QuietPicky));
Assert.That(ex.InnerException.Message, Is.EqualTo($@"No Project Directory (LocationOfFlatFiles) has been configured on LoadMetadata {_lmd.Name}"));
Assert.That(ex.InnerException.Message, Is.EqualTo($@"No Project Directory has been configured on LoadMetadata {_lmd.Name}"));
}

[Test]
Expand All @@ -125,7 +131,10 @@ public void MEFCompatibleType_NoArgs()
"DelMeProjDir", true);
try
{
_lmd.LocationOfFlatFiles = projDir.RootPath.FullName;
_lmd.LocationOfForLoadingDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultForLoadingPath);
_lmd.LocationOfForArchivingDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultForArchivingPath);
_lmd.LocationOfExecutablesDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultExecutablesPath);
_lmd.LocationOfCacheDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultCachePath);
_task.ProcessTaskType = ProcessTaskType.Attacher;
_task.LoadStage = LoadStage.Mounting;
_task.Path = typeof(AnySeparatorFileAttacher).FullName;
Expand All @@ -152,7 +161,10 @@ public void MEFCompatibleType_Passes()
"DelMeProjDir", true);
try
{
_lmd.LocationOfFlatFiles = projDir.RootPath.FullName;
_lmd.LocationOfForLoadingDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultForLoadingPath);
_lmd.LocationOfForArchivingDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultForArchivingPath);
_lmd.LocationOfExecutablesDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultExecutablesPath);
_lmd.LocationOfCacheDirectory = Path.Combine(projDir.RootPath.FullName, _lmd.DefaultCachePath);
_task.ProcessTaskType = ProcessTaskType.Attacher;
_task.LoadStage = LoadStage.Mounting;
_task.Path = typeof(AnySeparatorFileAttacher).FullName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,10 @@ public void Load(DatabaseType databaseType, TestCase testCase)
}
finally
{
Directory.Delete(lmd.LocationOfFlatFiles, true);
Directory.Delete(lmd.LocationOfForLoadingDirectory, true);
Directory.Delete(lmd.LocationOfForArchivingDirectory, true);
Directory.Delete(lmd.LocationOfExecutablesDirectory, true);
Directory.Delete(lmd.LocationOfCacheDirectory, true);

foreach (var c in RepositoryLocator.CatalogueRepository.GetAllObjects<Catalogue>())
c.DeleteInDatabase();
Expand Down Expand Up @@ -461,7 +464,10 @@ public void DLELoadTwoTables(DatabaseType databaseType)
}
finally
{
Directory.Delete(lmd.LocationOfFlatFiles, true);
Directory.Delete(lmd.LocationOfForLoadingDirectory, true);
Directory.Delete(lmd.LocationOfForArchivingDirectory, true);
Directory.Delete(lmd.LocationOfExecutablesDirectory, true);
Directory.Delete(lmd.LocationOfCacheDirectory, true);

foreach (var c in RepositoryLocator.CatalogueRepository.GetAllObjects<Catalogue>())
c.DeleteInDatabase();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ protected static LoadDirectory SetupLoadDirectory(LoadMetadata lmd)
var projectDirectory =
LoadDirectory.CreateDirectoryStructure(new DirectoryInfo(TestContext.CurrentContext.TestDirectory),
"MyLoadDir", true);
lmd.LocationOfFlatFiles = projectDirectory.RootPath.FullName;
lmd.LocationOfForLoadingDirectory = Path.Combine(projectDirectory.RootPath.FullName, lmd.DefaultForLoadingPath);
lmd.LocationOfForArchivingDirectory = Path.Combine(projectDirectory.RootPath.FullName, lmd.DefaultForArchivingPath);
lmd.LocationOfExecutablesDirectory = Path.Combine(projectDirectory.RootPath.FullName, lmd.DefaultExecutablesPath);
lmd.LocationOfCacheDirectory = Path.Combine(projectDirectory.RootPath.FullName, lmd.DefaultCachePath);
lmd.SaveToDatabase();

return projectDirectory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,11 @@ public void Create(CatalogueRepository repository, DiscoveredDatabase database,
};
ColumnInfo.SaveToDatabase();

LoadMetadata = new LoadMetadata(repository, "HICLoadPipelineTests")
{
LocationOfFlatFiles = directory.RootPath.FullName
};
LoadMetadata = new LoadMetadata(repository, "HICLoadPipelineTests");
LoadMetadata.LocationOfForLoadingDirectory = Path.Combine(directory.RootPath.FullName, LoadMetadata.DefaultForLoadingPath);
LoadMetadata.LocationOfForArchivingDirectory = Path.Combine(directory.RootPath.FullName, LoadMetadata.DefaultForArchivingPath);
LoadMetadata.LocationOfExecutablesDirectory = Path.Combine(directory.RootPath.FullName, LoadMetadata.DefaultExecutablesPath);
LoadMetadata.LocationOfCacheDirectory = Path.Combine(directory.RootPath.FullName, LoadMetadata.DefaultCachePath);
LoadMetadata.SaveToDatabase();

Catalogue = new Catalogue(repository, "HICLoadPipelineTests")
Expand Down
Loading