diff --git a/README.md b/README.md
index f94cb49097fab97319d0aa231d22814ead2f211d..039e6bef69812f03f27b7b9e3b87a940a62c4ab1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,7 @@
# Blob API
-This API handles the connection to the data stored in Coscine.
+This API handles the connection to the research data stored in Coscine.
+Metadata has to have been provided, before storing of research data can proceed.
+
+Check out the [docs](https://coscine.rwth-aachen.de/coscine/api/Coscine.Api.Blob/swagger).
diff --git a/src/Blob/Controllers/BlobController.cs b/src/Blob/Controllers/BlobController.cs
index 226a8b9f082d11df5e716be83eab154f5fcb5e6b..d6bcf79441ee99bf5dd829e19df7b08ed14bb40d 100644
--- a/src/Blob/Controllers/BlobController.cs
+++ b/src/Blob/Controllers/BlobController.cs
@@ -1,4 +1,3 @@
-using Coscine.Api.Blob.Util;
using Coscine.ApiCommons;
using Coscine.Configuration;
using Coscine.Database.DataModel;
@@ -36,6 +35,7 @@ namespace Coscine.Api.Blob.Controllers
private readonly CoscineLogger _coscineLogger;
private readonly AnalyticsLogObject _analyticsLogObject;
private readonly RdfStoreConnector _rdfStoreConnector;
+ private readonly CoscineLDPHelper _coscineLDPHelper;
private readonly string _prefix;
/// <summary>
@@ -54,17 +54,7 @@ namespace Coscine.Api.Blob.Controllers
_coscineLogger = new CoscineLogger(logger);
_analyticsLogObject = new AnalyticsLogObject();
_prefix = _configuration.GetStringAndWait("coscine/global/epic/prefix");
- }
-
- /// <summary>
- /// Generates Id
- /// </summary>
- /// <param name="resourceId">Id of the resource</param>
- /// <param name="path"> Path to file</param>
- /// <returns> Uri </returns>
- public Uri GenerateId(string resourceId, string path)
- {
- return new CustomUri($"https://hdl.handle.net/{_prefix}/{resourceId}@path={Uri.EscapeDataString(path)}");
+ _coscineLDPHelper = new CoscineLDPHelper(_rdfStoreConnector, _prefix);
}
/// <summary>
@@ -225,7 +215,7 @@ namespace Coscine.Api.Blob.Controllers
return BadRequest("Only one file can be uploaded per request.");
}
- var id = GenerateId(resourceId, $"/{path}");
+ var id = _coscineLDPHelper.GetId(resourceId, $"/{path}", true);
if (!_rdfStoreConnector.HasGraph(id))
{
return StatusCode((int)HttpStatusCode.Forbidden,
diff --git a/src/Blob/Util/CustomUri.cs b/src/Blob/Util/CustomUri.cs
deleted file mode 100644
index 1dfec1983a109c920320f1c7d8835daa3ace0666..0000000000000000000000000000000000000000
--- a/src/Blob/Util/CustomUri.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-
-namespace Coscine.Api.Blob.Util
-{
- /// <summary>
- /// Adapts the returned ToString of a Uri
- /// </summary>
- public class CustomUri : Uri
- {
- /// <summary>
- /// Constructs a Custom Uri
- /// </summary>
- /// <param name="uri"></param>
- public CustomUri(string uri) : base(uri)
- {
-
- }
-
- /// <summary>
- /// Overwrites the ToString for returning the AbsoluteUri (for dotNetRDF)
- /// </summary>
- /// <returns></returns>
- public override string ToString()
- {
- return AbsoluteUri;
- }
- }
-}