Skip to content
GitLab
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
6d491b59
Commit
6d491b59
authored
Jul 02, 2020
by
George Kalampokis
Browse files
Rda mapper will now be able to use the new DMP fields
parent
7127f6db
Changes
1
Hide whitespace changes
Inline
Side-by-side
dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java
View file @
6d491b59
...
...
@@ -3,6 +3,7 @@ package eu.eudat.models.rda.mapper;
import
eu.eudat.data.entities.*
;
import
eu.eudat.logic.services.ApiContext
;
import
eu.eudat.logic.utilities.helpers.StreamDistinctBy
;
import
eu.eudat.models.rda.Cost
;
import
eu.eudat.models.rda.Dmp
;
import
eu.eudat.models.rda.DmpId
;
import
net.minidev.json.JSONObject
;
...
...
@@ -43,16 +44,34 @@ public class DmpRDAMapper {
Map
<
String
,
Object
>
extraProperties
=
new
org
.
json
.
JSONObject
(
dmp
.
getExtraProperties
()).
toMap
();
if
(!
extraProperties
.
isEmpty
())
{
rda
.
setLanguage
(
LanguageRDAMapper
.
mapLanguageIsoToRDAIso
(
extraProperties
.
get
(
"language"
).
toString
()));
if
(
extraProperties
.
get
(
"language"
)
!=
null
)
{
rda
.
setLanguage
(
LanguageRDAMapper
.
mapLanguageIsoToRDAIso
(
extraProperties
.
get
(
"language"
).
toString
()));
}
if
(
extraProperties
.
get
(
"costs"
)
!=
null
)
{
rda
.
setCost
(
new
ArrayList
<>());
((
List
)
extraProperties
.
get
(
"costs"
)).
forEach
(
costl
->
{
Cost
cost
=
new
Cost
();
Map
<
String
,
Object
>
code
=
new
org
.
json
.
JSONObject
((
String
)
((
Map
)
costl
).
get
(
"code"
)).
toMap
();
cost
.
setCurrencyCode
(
Cost
.
CurrencyCode
.
fromValue
((
String
)
code
.
get
(
"value"
)));
cost
.
setDescription
((
String
)
((
Map
)
costl
).
get
(
"description"
));
cost
.
setTitle
((
String
)
((
Map
)
costl
).
get
(
"title"
));
cost
.
setValue
(((
Integer
)
((
Map
)
costl
).
get
(
"value"
)).
doubleValue
());
rda
.
getCost
().
add
(
cost
);
});
}
if
(
extraProperties
.
get
(
"contact"
)
!=
null
)
{
UserInfo
contact
=
apiContext
.
getOperationsContext
().
getDatabaseRepository
().
getUserInfoDao
().
find
(
UUID
.
fromString
((
String
)
extraProperties
.
get
(
"contact"
)));
rda
.
setContact
(
ContactRDAMapper
.
toRDA
(
contact
));
}
}
UserInfo
creator
;
/*
UserInfo creator;
if (dmp.getCreator() != null) {
creator = dmp.getCreator();
} else {
creator = dmp.getUsers().stream().filter(userDMP -> userDMP.getRole().equals(UserDMP.UserDMPRoles.OWNER.getValue())).map(UserDMP::getUser).findFirst().orElse(new UserInfo());
}
rda
.
setContact
(
ContactRDAMapper
.
toRDA
(
creator
));
rda.setContact(ContactRDAMapper.toRDA(creator));
*/
rda
.
setContributor
(
new
ArrayList
<>());
if
(
dmp
.
getResearchers
()
!=
null
&&
!
dmp
.
getResearchers
().
isEmpty
())
{
rda
.
getContributor
().
addAll
(
dmp
.
getResearchers
().
stream
().
map
(
ContributorRDAMapper:
:
toRDA
).
collect
(
Collectors
.
toList
()));
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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