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

Feature/rdmp-113 datasets #1682

Merged
merged 98 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
f6ddcd4
attempt to wget dicom plugin
JFriel Nov 10, 2023
0de2227
improved looping for plugins
JFriel Nov 10, 2023
3a55942
update script
JFriel Nov 10, 2023
1ffd513
add to bundle
JFriel Nov 10, 2023
885f6ba
add dataset creation
JFriel Nov 13, 2023
a13cba5
add linkage
JFriel Nov 13, 2023
fd78d74
add nav button
JFriel Nov 13, 2023
04714ed
basic datasets tree
JFriel Nov 13, 2023
b1d3ba1
tidy up
JFriel Nov 13, 2023
8044789
add stub proposal
JFriel Nov 14, 2023
ef8ca1c
render dataset tree
JFriel Nov 14, 2023
75a3a56
added ui flow
JFriel Nov 14, 2023
c2d0fc3
working word export
JFriel Nov 14, 2023
48fe767
working edit page
JFriel Nov 15, 2023
348c6ea
tidy up
JFriel Nov 15, 2023
2e13cef
refresh
JFriel Nov 16, 2023
56d2c0d
added folder
JFriel Nov 16, 2023
941f4e7
add whole catalogue
JFriel Nov 16, 2023
d983474
ad dhas folder
JFriel Nov 16, 2023
d0b4077
resx
JFriel Nov 17, 2023
54c05d3
update work writer
JFriel Nov 17, 2023
9236164
attempt sql update
JFriel Nov 17, 2023
14b3aec
update build
JFriel Nov 17, 2023
c4008b1
Merge branch 'develop' into task/update-plugin-bundling
JFriel Nov 20, 2023
b44457a
add missing file
JFriel Nov 20, 2023
a3e4bcb
Merge branch 'develop' of https://github.com/HicServices/RDMP into fe…
JFriel Nov 20, 2023
672fc90
add delete
JFriel Nov 20, 2023
8b2e89d
can list datasets
JFriel Nov 20, 2023
75d3d29
add dataset usgae list
JFriel Nov 20, 2023
d2e348e
fix refresh issue
JFriel Nov 20, 2023
d987af6
folders
JFriel Nov 20, 2023
1c19159
improved release documents
JFriel Nov 21, 2023
f7d61ee
Merge branch 'develop' of https://github.com/HicServices/RDMP into fe…
JFriel Nov 21, 2023
e61ba5a
rename clashing file
JFriel Nov 21, 2023
e7e2ee2
attempt to fix up tests
JFriel Nov 21, 2023
5ef1788
fix imports
JFriel Nov 21, 2023
45c34bb
Merge branch 'develop' of https://github.com/HicServices/RDMP into ta…
JFriel Nov 21, 2023
f88657d
update for testing
JFriel Nov 21, 2023
645e10b
Merge branch 'develop' of https://github.com/HicServices/RDMP into ta…
JFriel Nov 22, 2023
733b321
add charts
JFriel Nov 22, 2023
c4bbbc9
update changelog
JFriel Nov 22, 2023
d620331
remove bad files
JFriel Nov 22, 2023
a99fc28
add pie chart
JFriel Nov 22, 2023
c4aea8f
improve build
JFriel Nov 22, 2023
5846b64
add verbose curl
JFriel Nov 22, 2023
732d2f9
temp diable tests
JFriel Nov 22, 2023
fdad260
attempt to simplify build
JFriel Nov 22, 2023
1117055
Merge branch 'develop' into task/update-plugin-bundling
jas88 Nov 23, 2023
e68d278
readd tests
JFriel Nov 23, 2023
6dbed61
Merge branch 'task/update-plugin-bundling' of https://github.com/HicS…
JFriel Nov 23, 2023
033e4d4
Merge branch 'develop' of https://github.com/HicServices/RDMP into fe…
JFriel Nov 23, 2023
df3885b
working chart
JFriel Nov 23, 2023
2cf429c
Merge branch 'task/update-plugin-bundling' of https://github.com/HicS…
JFriel Nov 23, 2023
6645cd3
temp remove test
JFriel Nov 23, 2023
15bc01d
rename file
JFriel Nov 23, 2023
2f66320
tidy up documentation
JFriel Nov 23, 2023
4fd5f52
fix
JFriel Nov 23, 2023
395d53b
fix build
JFriel Nov 23, 2023
b720c52
revert test db file
JFriel Nov 23, 2023
b0313ea
add usmmary
JFriel Nov 23, 2023
2d604cf
tidy up code
JFriel Nov 23, 2023
5fb77de
add dataset blank constructor
JFriel Nov 23, 2023
0a6b86a
partial test coverage
JFriel Nov 24, 2023
91170a1
more tests
JFriel Nov 24, 2023
8c33da2
Merge branch 'develop' of https://github.com/HicServices/RDMP into fe…
JFriel Nov 24, 2023
83f7348
tidy up files
JFriel Nov 24, 2023
fa7129d
tidy up chart
JFriel Nov 24, 2023
7f00401
tidy up atomic command
JFriel Nov 24, 2023
5db3706
update summaries
JFriel Nov 24, 2023
b1c5980
add summary
JFriel Nov 24, 2023
faec037
remove test string
JFriel Nov 24, 2023
353e1de
remove test string
JFriel Nov 24, 2023
c7f60b3
remove test string
JFriel Nov 24, 2023
be58af7
Merge branch 'develop' of https://github.com/HicServices/RDMP into fe…
JFriel Nov 27, 2023
110b123
cli create
JFriel Nov 27, 2023
3261981
update cli commands
JFriel Nov 27, 2023
29cd964
fix test
JFriel Nov 27, 2023
1c253c6
fix dupe file name
JFriel Nov 27, 2023
c98f279
revert test db
JFriel Nov 27, 2023
4902c5d
set dataset private
JFriel Nov 27, 2023
2faf796
re-add fk
JFriel Nov 27, 2023
6d6b322
Merge branch 'develop' into feature/RDMP-113-datasets
JFriel Dec 5, 2023
17806cd
Merge branch 'develop' into feature/RDMP-113-datasets
jas88 Dec 5, 2023
2b432c9
Fix up NUnit 4 API changes, cache MockActivator
jas88 Dec 5, 2023
956f43f
Update AtomicCommandFactory.cs
jas88 Dec 5, 2023
a9f91e2
Update ExecuteCommandCreateDataset.cs
jas88 Dec 5, 2023
e069076
Update ExecuteCommandCreateDataset.cs
jas88 Dec 5, 2023
b2e7e29
Readonly, redundant subclassing
jas88 Dec 5, 2023
7f8234c
Update ExecuteCommandLinkCatalogueToDataset.cs
jas88 Dec 5, 2023
7a8c325
Update AtomicCommandFactory.cs
jas88 Dec 5, 2023
493f03b
Update ExecuteCommandDeleteDatasetTest.cs
jas88 Dec 5, 2023
4c9c8f1
Update ExecuteCommandLinkCatalogueToDataset.cs
jas88 Dec 5, 2023
7c094de
Update ExecuteCommandLinkColumnInfoToDataset.cs
jas88 Dec 5, 2023
e6d0f44
Unused usings
jas88 Dec 5, 2023
31df213
Sealed, LINQ, avoid some looped string concat
jas88 Dec 5, 2023
9b1c5a9
Namespaces, var, whitespace
jas88 Dec 5, 2023
3975933
Unit test fixups - ImpossibleCommandException not Exception now
jas88 Dec 5, 2023
86f5b42
Fix typo 'datset', add readonly
jas88 Dec 5, 2023
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: 0 additions & 2 deletions Application/ResearchDataManagementPlatform/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
// 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 System.Runtime.InteropServices;
using CommandLine;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.ReusableLibraryCode;
using Rdmp.Core.ReusableLibraryCode.Checks;
using Rdmp.Core.Startup;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

using FAnsi.Discovery;
using Rdmp.Core.CommandExecution;
using System.Collections.Generic;
using Equ;
using Rdmp.Core.MapsDirectlyToDatabaseTable;

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,11 @@
btnTables.Image = CatalogueIcons.TableInfo.ImageToBitmap();
btnTables.BackgroundImage = BackColorProvider.GetBackgroundImage(btnTables.Size, RDMPCollection.Tables);

btnLoad.Image = CatalogueIcons.LoadMetadata.ImageToBitmap();
btnLoad.BackgroundImage = BackColorProvider.GetBackgroundImage(btnLoad.Size, RDMPCollection.DataLoad);
btnDataSets.Image = CatalogueIcons.Dataset.ImageToBitmap();
btnDataSets.BackgroundImage = BackColorProvider.GetBackgroundImage(btnDataSets.Size, RDMPCollection.Datasets);

btnLoads.Image = CatalogueIcons.LoadMetadata.ImageToBitmap();
btnLoads.BackgroundImage = BackColorProvider.GetBackgroundImage(btnDataSets.Size, RDMPCollection.DataLoad);

btnFavourites.Image = CatalogueIcons.Favourite.ImageToBitmap();
btnDeleteLayout.Image = FamFamFamIcons.delete.ImageToBitmap();
Expand Down Expand Up @@ -106,8 +109,9 @@
btnSavedCohorts.ToolTipText = "Finalised identifier lists, ready for linkage and extraction";
btnDataExport.ToolTipText = "Show Projects and Extractable Dataset Packages allowing data extraction";
btnTables.ToolTipText = "Advanced features e.g. logging, credentials, dashboards etc";
btnLoad.ToolTipText = "Load configurations for reading data into your databases";
btnLoads.ToolTipText = "Load configurations for reading data into your databases";
btnFavourites.ToolTipText = "Collection of all objects that you have favourited";
btnDataSets.ToolTipText = "All external datasets that have been configured for use in RDMP";
}
catch (Exception e)
{
Expand Down Expand Up @@ -180,12 +184,14 @@
collectionToToggle = RDMPCollection.DataExport;
else if (button == btnTables)
collectionToToggle = RDMPCollection.Tables;
else if (button == btnLoad)
else if (button == btnLoads)

Check warning

Code scanning / CodeQL

Reference equality test on System.Object Warning

Reference equality for System.Object comparisons (
this
argument has type Object).
collectionToToggle = RDMPCollection.DataLoad;
else if (button == btnSavedCohorts)
collectionToToggle = RDMPCollection.SavedCohorts;
else if (button == btnFavourites)
collectionToToggle = RDMPCollection.Favourites;
else if (button == btnDataSets)

Check warning

Code scanning / CodeQL

Reference equality test on System.Object Warning

Reference equality for System.Object comparisons (
this
argument has type Object).
collectionToToggle = RDMPCollection.Datasets;
else
throw new ArgumentOutOfRangeException(nameof(button));

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,64 @@
<root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema

Version 2.0

The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.

Example:

... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>

There are any number of "resheader" rows that contain simple
name/value pairs.

Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.

The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:

Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.

mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
Expand Down Expand Up @@ -118,7 +178,7 @@
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnLoad.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnDataSets.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
Expand Down Expand Up @@ -192,54 +252,69 @@
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnLoads.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnSaveWindowLayout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARGSURBVDhPhZTZU5pXGIe56H/TaS8SRZRpnV73pred6UzT
aIwLAZdo3Dqm1kxS25hoNS4EAorFDRU3VDaHGhMKdSGo4AKyi7KFTWT79XzoRW9qv5lnzplzzjznfd/v
nUPLr1TUMdmqzkK2aqmQrbTkc5Yit8sWU0z2YraIrUQRW4GiBwowyfzLahWKa1RkVOILjiLGrJFbi2tW
BfSK5a+K29Sf0JgcVY9I5dqWvfMEl7b8F3qjJ63ZcWd15gDe7vqxtnOOte1zrH/wQWsK5NAYfFBsOtIz
Sne8Y2zP8U2bZoxeIfuaRqLSzP3pCi1tRqA9jIP6grEkpjR2OH0XCF9kEI5nkEhmkc4CiVQW/kgaTn8S
29Yo5rRetIn3AyRCDS2frXLNqr2XPGUA09qPSGYAy2kMnF49diwhBKNphGJpxC8zOfyRFGznl7B4E5Bt
BjH9zgeR0k7SloNWWK6MSt7a0pRM8j6EaCKDA1cUta/+xtZxCKF4Ord2QW4Jk7krkCSXJXIIVWfoWXCD
t3wCRtVslnaLFHtYfpJ9rfRjYiMIfzQFkzOKJ6JdGE/CiOREWcTIeB5Oweq9xJHnAseUTH2GzmkHuiSH
YFTKSGTsheyYxgOuwg+RJgDrWQKH5PCeI0rqcokAkYdiKXhDVETUegxGeyw38hWneDZlQ+eEGQUVi5RM
gT/WPOCTNJsER2jhbaOVb0CbwICfRz7gyagRHSIjHgsNaOXtoPn1Npquqefu4dmkFU/F+ygoXyAy0kOj
apK3woeHfCs4g2ZUD5lRwzWj7praIROqB01g9+/hAYH1ahdVfUawB0x4Om7JXUa/P38lG1G5wF09Q+Ow
Ay0iJ8GB1mtaRuxoJjQN2/BIYEXDGyvq+RbU8Y5Qyz1Eh/gIjwU7oJdJiYylgFDhwuDKGRoEdjwS2tEo
tF1BBA2CE9QTwcOc4JgIjkjkB+AMkAxItD+JzCT9TeTfm7mS8Vcd6Jd50T7mJL/aQzjF79d0z3vwUurG
i1kXumadeD7jwG8SG36dOkGz4AA/CvfQOKRDfuk0JZODt+LICSQbAdJTKZxHwjdyRogmkhCvudHANaC+
X4u80inQmKRmXJkjF8GcNgxb8ACD2iYMaBv/E2qfOjepOUXtwBZqezeQVzJJZKQ1hpbseDnngVQbgifs
xpxxFNIboPapc+NrLlT36cHpXkfe3XHQqCdmYNGOLlIX6fuPsActEOh+wZsboPapc2LSBazuv8Dq0uD2
3TFSs3J59MWiOc2Xe6ExRuCLOyE74P0PfPgvXJhdd5EUtSh5rs7c/kFwSWOw5Lp2odnVN2+KT6qPM3ry
junNIehyBKEzUQT+hR+6fT/0Jh96JQaUt8uy37Utx299P+ag0StXehislSkGa9lML1lJFFUto7BKRlhC
YeUCGBXzYJRLUXB/BgVl04QpFNybBL10IlenT78VJz+7I3Z/fke88Q92NlVRGjmKRQAAAABJRU5ErkJg
gg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARISURBVDhPhZTZU5pXGIe56D/Ti3baRhF1WqfXveldbzrT
mJrEhYBLNG4dbWomqa02Wo0LgUDEggu4i8qiQ40JxboFFVxAlk8E2cK+/3o+4kVvar+ZZ86Zc848533f
753DyK9U1RVzNJ2FHM1iIUdtzufOhz4tm0sVc+ayRRw1ijgqFN1ToZjMv6jWoKRGQ0Y1PueqIsU1SktJ
zYqQWbH0ZUnb6geMYq6mV6yhdhSvnf75bW9s00Cl17YdWb3Jh1f7XqztXmJt5xLrbz3QGX05tHseqLas
6SnlebRDemD/uk0rZVYovmKQqLSzf1KBxa0QdMdR0J8/ksSk1gaHJ4ZgLINgNIN4Mot0FoinsvCG0nB4
k9ixhDGrc6FNcugjEWoZ+RwNNb3qSvDVPsh175DMAOaLCLh9m9g1B+APpxGIpBFNZHJ4QylYLxMwu+JQ
bPkhf+2BWG0jaSvBKCxXh2WvLGlaJnsTQDiewREVRu2zv7F9GkAgms6txcgtQTKnfElyWTyHSONG7/w5
+EtnYFXJs4xPSLGFy+bsc7UX4xt+eMMpGB1hPBLvw3AWRCgnyiJCxstgChZXAifOGE5p2aobnXI7umXH
YFUqSGSc2axU6wRP5YVY64PFHccxOXxgD5O6JOAj8kAkBVeAjohej8Bgi+RGgeoCTyat6Bw3oaBigZap
8MeaEwKSZpPwBC38HbQK9tAm3MNPI2/xaNSADrEB7aI9tPJ30fx8B01X1PMO8GTCgseSQxSUzxMZ6aHR
VZK3yoP7Agu4QyZUD5tQwzOh7oraYSOqh4zgDBzgHoH9bB9V/QZwBo14PGbOXca8O/deNqKhwFtxo/Gl
HS1iB8GO1itaRmxoJjS9tOKB0IKGFxbUC8yo45+glneMDskJ2oW7YN6ZITK2CiIVhaFlNxqENjwQ2dAo
sr6HCBqEZ6gngvs5wSkRnJDIj8AdJBmQaH8Um0j6W8i/PfVeJlixY0DhwkOpg/xqJ+ECv1/RM+fE05lz
/DZNoXvaga4pO36VWfHL5BmahUf4QXSAxmE98svktEwJ/rI9J5Bt+EhPpXAZCl6LmxCOJyFZO0cDbw/1
AzrklU2CUUxqxlPYcxHM6oKw+o8wpGvCoK7xP6H36XMT2gvUDm6jtm8Ded9PEBlpjeFFG57OOjGjC8AZ
PMesYRQz10Dv0+fG1ihU92+C27OOvFtjYNBPzOCCDd2kLjNv3sHmN0Oo/xkvroHep89JSBewe/4Cu1uL
G7ekpGblynDXwmFaoHRBawjBE3VAccT/HwTwxihMr1MkRR1Ku1YzN0oFCQaLrdQ/FJmo/rmD6MTqcWaT
vGObpgD0OfzQG2l8/8IL/aEXm0YP+mR7KG9fyH7bthT97DupncGsXO5lsZcnWewlE7N0OV5UtYTCKgVh
EYWV82BVzIFVPoOCu1MouCMnTKLg9gSYZeO5On34jST50U3J+cc3JRv/AJ4BVRHR/DhKAAAAAElFTkSu
QmCC
</value>
</data>
<data name="btnDeleteLayout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
TkSuQmCC
</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,12 @@ public PersistableToolboxDockContent Create(RDMPCollection collectionToCreate,
Image.Load<Rgba32>(CatalogueIcons.Favourite));
break;

case RDMPCollection.Datasets:
collection = new DatasetsCollectionUI();
toReturn = Show(RDMPCollection.Datasets, collection, "Datasets",
Image.Load<Rgba32>(CatalogueIcons.Dataset));
break;

default: throw new ArgumentOutOfRangeException(nameof(collectionToCreate));
}

Expand Down
2 changes: 0 additions & 2 deletions Rdmp.Core.Tests/Caching/Integration/CachingHostTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using NSubstitute;
using NUnit.Framework;
using Rdmp.Core.Caching;
using Rdmp.Core.Curation;
using Rdmp.Core.Curation.Data;
using Rdmp.Core.Curation.Data.Cache;
using Rdmp.Core.Curation.Data.Pipelines;
using Rdmp.Core.DataFlowPipeline;
using Rdmp.Core.ReusableLibraryCode.Progress;
using Tests.Common;
Expand Down
1 change: 0 additions & 1 deletion Rdmp.Core.Tests/Caching/Unit/PipelineExecutionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
// RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
// 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 NSubstitute;
using NUnit.Framework;
using Rdmp.Core.Caching.Pipeline;
Expand Down
14 changes: 12 additions & 2 deletions Rdmp.Core.Tests/CommandExecution/CommandCliTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using NSubstitute;
using Rdmp.Core.CommandExecution;
using Rdmp.Core.CommandLine.Interactive;
Expand All @@ -31,19 +32,28 @@ protected CommandInvoker GetInvoker()
{
DisallowInput = true
});
invoker.CommandImpossible += (s, c) => throw new Exception(c.Command.ReasonCommandImpossible);
invoker.CommandImpossible += static (s, c) => throw new Exception(c.Command.ReasonCommandImpossible);

return invoker;
}

protected IBasicActivateItems GetMockActivator()
private readonly Lazy<IBasicActivateItems> _mockActivator;

protected CommandCliTests()
{
_mockActivator = new Lazy<IBasicActivateItems>(MakeMockActivator, LazyThreadSafetyMode.ExecutionAndPublication);
}

private IBasicActivateItems MakeMockActivator()
{
var mock = Substitute.For<IBasicActivateItems>();
mock.RepositoryLocator.Returns(RepositoryLocator);
mock.GetDelegates().Returns(new List<CommandInvokerDelegate>());
return mock;
}

protected IBasicActivateItems GetMockActivator() => _mockActivator.Value;

/// <summary>
/// Runs the provided string which should start after the cmd e.g. the bit after rdmp cmd
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

using NUnit.Framework;
using Rdmp.Core.CommandExecution.AtomicCommands;
using System;
using System.Linq;
using Rdmp.Core.CommandExecution;

namespace Rdmp.Core.Tests.CommandExecution;

public class ExecuteCommandCreateDatasetTests : CommandCliTests
{
[Test]
public void TestDatasetCreationOKParameters() {
var cmd = new ExecuteCommandCreateDataset(GetMockActivator(),"dataset");
Assert.DoesNotThrow(()=>cmd.Execute());
}

[Test]
public void TestDatasetCreationNoParameters()
{
var cmd = new ExecuteCommandCreateDataset(GetMockActivator(), null);
Assert.Throws<ImpossibleCommandException>(cmd.Execute);
}

[Test]
public void TestDatasetCreationOKExtendedParameters()
{
var cmd = new ExecuteCommandCreateDataset(GetMockActivator(), "dataset2","somedoi","some source");
Assert.DoesNotThrow(cmd.Execute);
var founddataset = GetMockActivator().RepositoryLocator.CatalogueRepository.GetAllObjects<Rdmp.Core.Curation.Data.Dataset>().Where(ds => ds.Name == "dataset2" && ds.DigitalObjectIdentifier == "somedoi" && ds.Source == "some source").First();
Assert.That(founddataset,Is.Not.Null);
}
}
Loading
Loading