Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/dotnet-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
path: RDMP
- uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Get version
id: version
shell: cmd
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [7.1.6] - 2026-03-10
- Bump RDMP to v9.2.0

## [7.1.6] - 2025-07-23
- Bump RDMP to v9.0.0

Expand Down
2 changes: 1 addition & 1 deletion RDMP
Submodule RDMP updated 228 files
2 changes: 1 addition & 1 deletion Rdmp.Dicom.Tests/Integration/DicomTagToCSVTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void TestTagExtraction()
var tagExtractor = new DicomTagToCSV();
IExtractCommand cmd = MockExtractionCommand();
//give the mock to anonymiser
tagExtractor.PreInitialize(cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
tagExtractor.PreInitialize(null,cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
tagExtractor.ArchiveRootIfAny = TestContext.CurrentContext.WorkDirectory;
tagExtractor.RelativeArchiveColumnName = "Filepath";

Expand Down
11 changes: 6 additions & 5 deletions Rdmp.Dicom.Tests/Integration/FoDicomAnonymiserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public void TestAnonymisingDataset(Type putterType, bool keepDates)
IExtractCommand cmd = MockExtractionCommand();

//give the mock to anonymiser
anonymiser.PreInitialize(cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
anonymiser.PreInitialize(null,cmd, ThrowImmediatelyDataLoadEventListener.Quiet);

anonymiser.PutterType = putterType;
anonymiser.ArchiveRootIfAny = TestContext.CurrentContext.WorkDirectory;
Expand Down Expand Up @@ -283,7 +283,7 @@ public void TestSkipAnonymisationOnStructuredReports()
IExtractCommand cmd = MockExtractionCommand();

//give the mock to anonymiser
anonymiser.PreInitialize(cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
anonymiser.PreInitialize(null,cmd, ThrowImmediatelyDataLoadEventListener.Quiet);

anonymiser.PutterType = typeof(PutInRoot);
anonymiser.ArchiveRootIfAny = TestContext.CurrentContext.WorkDirectory;
Expand Down Expand Up @@ -475,7 +475,7 @@ public void TestTagsToKeepArgument(bool keepTags)


//give the mock to anonymiser
anonymiser.PreInitialize(cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
anonymiser.PreInitialize(null,cmd, ThrowImmediatelyDataLoadEventListener.Quiet);

anonymiser.PutterType = typeof(PutInRoot);
anonymiser.ArchiveRootIfAny = Path.GetTempPath();
Expand Down Expand Up @@ -573,7 +573,7 @@ public void TestAnonymisingDataset_MetadataOnlyVsReal(Type putterType)
IExtractCommand cmd = MockExtractionCommand();

//give the mock to anonymiser
anonymiser.PreInitialize(cmd, ThrowImmediatelyDataLoadEventListener.Quiet);
anonymiser.PreInitialize(null,cmd, ThrowImmediatelyDataLoadEventListener.Quiet);

anonymiser.PutterType = putterType;
anonymiser.ArchiveRootIfAny = TestContext.CurrentContext.WorkDirectory;
Expand Down Expand Up @@ -752,7 +752,7 @@ public IHasDependencies[] GetObjectsDependingOnThis()
}

/// <inheritdoc />
public bool ShouldBeReadOnly(out string reason)
public bool ShouldBeReadOnly(string context, out string reason)
{
reason = null;
return false;
Expand Down Expand Up @@ -883,6 +883,7 @@ public bool IsExtractable(out string reason)
reason = null;
return false;
}

}
internal class DummyProject : IProject
{
Expand Down
4 changes: 2 additions & 2 deletions Rdmp.Dicom.Tests/Rdmp.Dicom.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
<ItemGroup>
<PackageReference Include="HIC.BadMedicine.Dicom" Version="0.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.7" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="NUnit" Version="4.3.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="NUnit" Version="4.4.0" />
<PackageReference Include="NUnit.Analyzers" Version="4.9.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
6 changes: 3 additions & 3 deletions Rdmp.Dicom.Tests/TestProcessBasedCacheSource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ public void TestWithEcho()
lmd.LocationOfCacheDirectory = loadDir.Cache.FullName;
lmd.SaveToDatabase();

source.PreInitialize(new CacheFetchRequestProvider(cp), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(cp.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(new PermissionWindow(cp.CatalogueRepository), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new CacheFetchRequestProvider(cp), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,cp.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new PermissionWindow(cp.CatalogueRepository), ThrowImmediatelyDataLoadEventListener.Quiet);

var toMem = new ToMemoryDataLoadEventListener(true);
var fork = new ForkDataLoadEventListener(toMem, ThrowImmediatelyDataLoadEventListener.Quiet);
Expand Down
4 changes: 2 additions & 2 deletions Rdmp.Dicom.Tests/Unit/CFindDirSourceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public void Test_ReadExampleXml_File()

Assert.DoesNotThrow(() => source.Check(ThrowImmediatelyCheckNotifier.Quiet));

source.PreInitialize(new(new(inventory)), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new(new(inventory)), ThrowImmediatelyDataLoadEventListener.Quiet);

var dt = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new());

Expand Down Expand Up @@ -74,7 +74,7 @@ public void Test_ReadExampleXml_Directory()

Assert.DoesNotThrow(() => source.Check(ThrowImmediatelyCheckNotifier.Quiet));

source.PreInitialize(new(new(inventory)), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new(new(inventory)), ThrowImmediatelyDataLoadEventListener.Quiet);

var dt = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new());

Expand Down
8 changes: 4 additions & 4 deletions Rdmp.Dicom.Tests/Unit/DICOMFileCollectionSourceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ public void Test_SingleFile(bool expressRelative)

var f = new FlatFileToLoad(new(Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData/IM-0001-0013.dcm")));

source.PreInitialize(new FlatFileToLoadDicomFileWorklist(f), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new FlatFileToLoadDicomFileWorklist(f), ThrowImmediatelyDataLoadEventListener.Quiet);

var tbl = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new());
var destination = new DataTableUploadDestination();

destination.PreInitialize(db, ThrowImmediatelyDataLoadEventListener.Quiet);
destination.PreInitialize(null,db, ThrowImmediatelyDataLoadEventListener.Quiet);
destination.AllowResizingColumnsAtUploadTime = true;
destination.ProcessPipelineData(tbl, ThrowImmediatelyDataLoadEventListener.Quiet, new());
destination.Dispose(ThrowImmediatelyDataLoadEventListener.Quiet, null);
Expand Down Expand Up @@ -115,12 +115,12 @@ public void Test_ZipFile(bool expressRelative)
if (expressRelative)
source.ArchiveRoot = TestContext.CurrentContext.TestDirectory;

source.PreInitialize(new FlatFileToLoadDicomFileWorklist(f), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new FlatFileToLoadDicomFileWorklist(f), ThrowImmediatelyDataLoadEventListener.Quiet);

var tbl = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new());
var destination = new DataTableUploadDestination();

destination.PreInitialize(db, ThrowImmediatelyDataLoadEventListener.Quiet);
destination.PreInitialize(null,db, ThrowImmediatelyDataLoadEventListener.Quiet);
destination.AllowResizingColumnsAtUploadTime = true;
destination.ProcessPipelineData(tbl, ThrowImmediatelyDataLoadEventListener.Quiet, new());
destination.Dispose(ThrowImmediatelyDataLoadEventListener.Quiet, null);
Expand Down
8 changes: 4 additions & 4 deletions Rdmp.Dicom.Tests/Unit/DicomSourceUnitTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public void AssembleDataTableFromFile()

var f = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData/IM-0001-0013.dcm");

source.PreInitialize(new FlatFileToLoadDicomFileWorklist(new(new(f))), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new FlatFileToLoadDicomFileWorklist(new(new(f))), ThrowImmediatelyDataLoadEventListener.Quiet);
var result = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new());

Assert.Multiple(() =>
Expand All @@ -84,7 +84,7 @@ public void AssembleDataTableFromFileArchive()
var fileCount = Directory.GetFiles(dir, "*.dcm").Length;

var source = new DicomFileCollectionSource { FilenameField = "RelativeFileArchiveURI" };
source.PreInitialize(new FlatFileToLoadDicomFileWorklist(new(new(zip))), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new FlatFileToLoadDicomFileWorklist(new(new(zip))), ThrowImmediatelyDataLoadEventListener.Quiet);
var toMemory = new ToMemoryDataLoadEventListener(true);
var result = source.GetChunk(toMemory, new());

Expand All @@ -107,7 +107,7 @@ public void AssembleDataTableFromFolder()
File.WriteAllText(controlFile.FullName, file1.FullName + Environment.NewLine + file2.FullName);

var source = new DicomFileCollectionSource { FilenameField = "RelativeFileArchiveURI" };
source.PreInitialize(new FlatFileToLoadDicomFileWorklist(new(controlFile)), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new FlatFileToLoadDicomFileWorklist(new(controlFile)), ThrowImmediatelyDataLoadEventListener.Quiet);

var toMemory = new ToMemoryDataLoadEventListener(true);
var result = source.GetChunk(toMemory, new());
Expand Down Expand Up @@ -206,7 +206,7 @@ public void SR_treeFlatten()
{
FilenameField = "Filename"
};
source.PreInitialize(new ExplicitListDicomDatasetWorklist([ds], "test.dcm"), ThrowImmediatelyDataLoadEventListener.Quiet);
source.PreInitialize(null,new ExplicitListDicomDatasetWorklist([ds], "test.dcm"), ThrowImmediatelyDataLoadEventListener.Quiet);
using var dt = source.GetChunk(ThrowImmediatelyDataLoadEventListener.Quiet, new GracefulCancellationToken());
Assert.That(dt.Rows.Count, Is.EqualTo(1));
Assert.That(dt.Rows[0].ItemArray.Any(static i => i?.ToString()?.Contains("Dermatofibroma")==true));
Expand Down
2 changes: 1 addition & 1 deletion Rdmp.Dicom/Attachers/Routing/AutoRoutingAttacher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ private void CreateTableUploaders()

var tli = Job.DataLoadInfo.CreateTableLoadInfo("", tblName, new[] {new DataSource("AutoRoutingAttacher")}, 0);

dest.PreInitialize(tli, Job);
dest.PreInitialize(null,tli, Job);

_uploaders.Add(t.GetRuntimeName(LoadStage.AdjustRaw,Job.Configuration.DatabaseNamer), Tuple.Create(dest,tli));
}
Expand Down
4 changes: 2 additions & 2 deletions Rdmp.Dicom/CommandExecution/ExecuteCommandCFind.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ public ExecuteCommandCFind(IBasicActivateItems activator, string start, string e
};

//Initialize it
_source.PreInitialize(BasicActivator.RepositoryLocator.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(this, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(BasicActivator,BasicActivator.RepositoryLocator.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(BasicActivator,this, ThrowImmediatelyDataLoadEventListener.Quiet);

}

Expand Down
4 changes: 2 additions & 2 deletions Rdmp.Dicom/CommandExecution/ExecuteCommandPacsFetch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ public ExecuteCommandPacsFetch(IBasicActivateItems activator, string start, stri
};

//Initialize it
_source.PreInitialize(BasicActivator.RepositoryLocator.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(this, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(BasicActivator, BasicActivator.RepositoryLocator.CatalogueRepository, ThrowImmediatelyDataLoadEventListener.Quiet);
_source.PreInitialize(BasicActivator, this, ThrowImmediatelyDataLoadEventListener.Quiet);

}

Expand Down
3 changes: 2 additions & 1 deletion Rdmp.Dicom/Extraction/DicomTagToCSV.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using CsvHelper;
using CsvHelper.Configuration;
using FellowOakDicom;
using Rdmp.Core.CommandExecution;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.DataExport.DataExtraction.Commands;
using Rdmp.Core.DataFlowPipeline;
Expand Down Expand Up @@ -129,7 +130,7 @@ private static IEnumerable<Entry> StringEntries(string id, string tag, DicomStri
yield return new Entry(id, tag, e.Get<string>(i));
}
}
public void PreInitialize(IExtractCommand value, IDataLoadEventListener listener)
public void PreInitialize(IBasicActivateItems activator, IExtractCommand value, IDataLoadEventListener listener)
{
_extractCommand = value as IExtractDatasetCommand;
}
Expand Down
3 changes: 2 additions & 1 deletion Rdmp.Dicom/Extraction/FoDicomBased/FoDicomAnonymiser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
using System.Linq;
using System.Text.RegularExpressions;
using Rdmp.Core.QueryBuilding;
using Rdmp.Core.CommandExecution;

namespace Rdmp.Dicom.Extraction.FoDicomBased;

Expand Down Expand Up @@ -424,7 +425,7 @@ public void Abort(IDataLoadEventListener listener)

}

public void PreInitialize(IExtractCommand value, IDataLoadEventListener listener)
public void PreInitialize(IBasicActivateItems activator, IExtractCommand value, IDataLoadEventListener listener)
{
_extractCommand = value as IExtractDatasetCommand;
}
Expand Down
3 changes: 2 additions & 1 deletion Rdmp.Dicom/PipelineComponents/CFind/CFindDirSource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.IO;
using System.Xml;
using FAnsi.Discovery;
using Rdmp.Core.CommandExecution;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Core.DataFlowPipeline.Requirements;
Expand Down Expand Up @@ -161,7 +162,7 @@ private void XmlToRows(string file, DataTable dt)
}
}

public void PreInitialize(FlatFileToLoad value, IDataLoadEventListener listener)
public void PreInitialize(IBasicActivateItems activator, FlatFileToLoad value, IDataLoadEventListener listener)
{
_file = value;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using System.Data;
using System.Diagnostics;
using FellowOakDicom;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Rdmp.Dicom.PipelineComponents.DicomSources.Worklists;
using Rdmp.Core.CommandExecution;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Core.DataFlowPipeline.Requirements;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Rdmp.Dicom.PipelineComponents.DicomSources.Worklists;
using System.Data;
using System.Diagnostics;

namespace Rdmp.Dicom.PipelineComponents.DicomSources;

Expand All @@ -14,7 +15,7 @@ public class DicomDatasetCollectionSource : DicomSource, IPipelineRequirement<ID

private const int BatchSize = 50000;

public void PreInitialize(IDicomWorklist value, IDataLoadEventListener listener)
public void PreInitialize(IBasicActivateItems activator, IDicomWorklist value, IDataLoadEventListener listener)
{
_datasetListWorklist = value as IDicomDatasetWorklist;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
using System;
using FAnsi.Discovery;
using FellowOakDicom;
using LibArchive.Net;
using Rdmp.Core.CommandExecution;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Core.DataFlowPipeline.Requirements;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Rdmp.Dicom.Extraction.FoDicomBased;
using Rdmp.Dicom.PACS;
using Rdmp.Dicom.PipelineComponents.DicomSources.Worklists;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using FellowOakDicom;
using FAnsi.Discovery;
using LibArchive.Net;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Rdmp.Dicom.PipelineComponents.DicomSources.Worklists;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.DataFlowPipeline.Requirements;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Dicom.Extraction.FoDicomBased;
using Rdmp.Dicom.PACS;

namespace Rdmp.Dicom.PipelineComponents.DicomSources;

Expand Down Expand Up @@ -261,7 +262,7 @@ private void ProcessFile(Stream stream, DataTable dt, string filename, IDataLoad
}
}

public void PreInitialize(IDicomWorklist value, IDataLoadEventListener listener)
public void PreInitialize(IBasicActivateItems activator, IDicomWorklist value, IDataLoadEventListener listener)
{
if (value == null)
{
Expand Down
6 changes: 3 additions & 3 deletions SharedAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[assembly: AssemblyCulture("")]

// These should be replaced with correct values by the release process
[assembly: AssemblyVersion("7.1.6")]
[assembly: AssemblyFileVersion("7.1.6")]
[assembly: AssemblyInformationalVersion("7.1.6")]
[assembly: AssemblyVersion("7.1.7")]
[assembly: AssemblyFileVersion("7.1.7")]
[assembly: AssemblyInformationalVersion("7.1.7")]
[assembly: InternalsVisibleTo("Rdmp.Dicom.Tests")]
Loading