Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dmp
OpenAIRE-EUDAT-DMP-service-pilot
Commits
c91059c8
Commit
c91059c8
authored
Jul 20, 2021
by
George Kalampokis
Browse files
Get latest available dataset profile instead of the version that is selected on the DMP
parent
75d9726b
Changes
4
Hide whitespace changes
Inline
Side-by-side
dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DatasetProfileCriteria.java
View file @
c91059c8
...
...
@@ -35,6 +35,7 @@ public class DatasetProfileCriteria extends Criteria<DatasetProfile> {
private
boolean
finalized
;
private
Integer
status
;
private
Integer
role
;
private
List
<
UUID
>
ids
;
public
boolean
getAllVersions
()
{
return
allVersions
;
}
public
void
setAllVersions
(
boolean
allVersions
)
{
this
.
allVersions
=
allVersions
;
}
...
...
@@ -78,4 +79,12 @@ public class DatasetProfileCriteria extends Criteria<DatasetProfile> {
public
void
setRole
(
Integer
role
)
{
this
.
role
=
role
;
}
public
List
<
UUID
>
getIds
()
{
return
ids
;
}
public
void
setIds
(
List
<
UUID
>
ids
)
{
this
.
ids
=
ids
;
}
}
dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DatasetProfileDaoImpl.java
View file @
c91059c8
...
...
@@ -58,6 +58,9 @@ public class DatasetProfileDaoImpl extends DatabaseAccess<DatasetProfile> implem
if
(
criteria
.
getStatus
()
!=
null
)
{
query
.
where
(((
builder
,
root
)
->
builder
.
equal
(
root
.
get
(
"status"
),
criteria
.
getStatus
())));
}
if
(
criteria
.
getIds
()
!=
null
)
{
query
.
where
(((
builder
,
root
)
->
root
.
get
(
"id"
).
in
(
criteria
.
getIds
())));
}
if
(
criteria
.
getFinalized
())
{
query
.
where
(((
builder
,
root
)
->
builder
.
equal
(
root
.
get
(
"status"
),
DatasetProfile
.
Status
.
FINALIZED
.
getValue
())));
}
else
{
...
...
dmp-backend/web/src/main/java/eu/eudat/controllers/Datasets.java
View file @
c91059c8
...
...
@@ -177,7 +177,7 @@ public class Datasets extends BaseController {
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
{
"/getAvailableProfiles"
},
produces
=
"application/json"
)
public
@ResponseBody
ResponseEntity
<
ResponseItem
<
List
<
AssociatedProfile
>>>
getAvailableProfiles
(
@RequestBody
DatasetProfileWizardAutocompleteRequest
datasetProfileWizardAutocompleteRequest
,
@ClaimedAuthorities
(
claims
=
{
ANONYMOUS
})
Principal
principal
)
throws
IllegalAccessException
,
InstantiationException
{
List
<
AssociatedProfile
>
dataManagementPlans
=
DatasetWizardManager
.
getAvailableProfiles
(
this
.
getApiContext
().
getOperationsContext
().
getDatabaseRepository
().
getDmpDao
(),
datasetProfileWizardAutocompleteRequest
);
List
<
AssociatedProfile
>
dataManagementPlans
=
DatasetWizardManager
.
getAvailableProfiles
(
this
.
getApiContext
().
getOperationsContext
().
getDatabaseRepository
().
getDmpDao
(),
this
.
getApiContext
().
getOperationsContext
().
getDatabaseRepository
().
getDatasetProfileDao
(),
datasetProfileWizardAutocompleteRequest
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
new
ResponseItem
<
List
<
AssociatedProfile
>>().
status
(
ApiMessageCode
.
NO_MESSAGE
).
payload
(
dataManagementPlans
));
}
...
...
dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetWizardManager.java
View file @
c91059c8
package
eu.eudat.logic.managers
;
import
eu.eudat.data.dao.criteria.DatasetProfileCriteria
;
import
eu.eudat.data.dao.entities.DMPDao
;
import
eu.eudat.data.dao.entities.DatasetProfileDao
;
import
eu.eudat.data.entities.DMP
;
import
eu.eudat.data.entities.Dataset
;
import
eu.eudat.data.entities.DatasetProfile
;
import
eu.eudat.data.entities.UserInfo
;
import
eu.eudat.data.query.items.item.dataset.DatasetWizardAutocompleteRequest
;
import
eu.eudat.data.query.items.item.datasetprofile.DatasetProfileWizardAutocompleteRequest
;
import
eu.eudat.exceptions.datasetwizard.DatasetWizardCannotUnlockException
;
import
eu.eudat.logic.services.ApiContext
;
import
eu.eudat.models.data.datasetwizard.DataManagentPlanListingModel
;
import
eu.eudat.data.query.items.item.datasetprofile.DatasetProfileWizardAutocompleteRequest
;
import
eu.eudat.data.query.items.item.dataset.DatasetWizardAutocompleteRequest
;
import
eu.eudat.models.data.dmp.AssociatedProfile
;
import
eu.eudat.models.data.dmp.DataManagementPlan
;
import
eu.eudat.models.data.security.Principal
;
...
...
@@ -19,6 +21,7 @@ import java.io.IOException;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
public
class
DatasetWizardManager
{
...
...
@@ -31,12 +34,18 @@ public class DatasetWizardManager {
return
dataManagementPlans
;
}
public
static
List
<
AssociatedProfile
>
getAvailableProfiles
(
DMPDao
dmpRepository
,
DatasetProfileWizardAutocompleteRequest
datasetProfileWizardAutocompleteRequest
)
throws
InstantiationException
,
IllegalAccessException
{
public
static
List
<
AssociatedProfile
>
getAvailableProfiles
(
DMPDao
dmpRepository
,
DatasetProfileDao
profileDao
,
DatasetProfileWizardAutocompleteRequest
datasetProfileWizardAutocompleteRequest
)
throws
InstantiationException
,
IllegalAccessException
{
DataManagementPlan
dataManagementPlan
=
new
DataManagementPlan
().
fromDataModel
(
dmpRepository
.
find
(
datasetProfileWizardAutocompleteRequest
.
getCriteria
().
getId
()));
if
(
dataManagementPlan
.
getProfiles
()
==
null
||
dataManagementPlan
.
getProfiles
().
isEmpty
())
{
return
new
LinkedList
<>();
}
List
<
AssociatedProfile
>
profiles
=
dataManagementPlan
.
getProfiles
();
DatasetProfileCriteria
criteria
=
new
DatasetProfileCriteria
();
criteria
.
setIds
(
dataManagementPlan
.
getProfiles
().
stream
().
map
(
AssociatedProfile:
:
getId
).
collect
(
Collectors
.
toList
()));
List
<
DatasetProfile
>
datasetProfiles
=
profileDao
.
getWithCriteria
(
criteria
).
toList
();
criteria
.
setIds
(
null
);
criteria
.
setGroupIds
(
datasetProfiles
.
stream
().
map
(
DatasetProfile:
:
getGroupId
).
collect
(
Collectors
.
toList
()));
datasetProfiles
=
profileDao
.
getWithCriteria
(
criteria
).
toList
();
List
<
AssociatedProfile
>
profiles
=
datasetProfiles
.
stream
().
map
(
profile
->
new
AssociatedProfile
().
fromData
(
profile
)).
collect
(
Collectors
.
toList
());
return
profiles
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment