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
06364873
Commit
06364873
authored
Sep 27, 2021
by
George Kalampokis
Browse files
Fix issue with unordered multiplicity fields
parent
faeb7e0d
Changes
4
Hide whitespace changes
Inline
Side-by-side
dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java
View file @
06364873
...
...
@@ -741,7 +741,7 @@ public class DatasetManager {
}
private
String
propertiesModelToString
(
PagedDatasetProfile
pagedDatasetProfile
)
{
Map
<
String
,
Object
>
values
=
new
HashMap
();
Map
<
String
,
Object
>
values
=
new
Linked
HashMap
<>
();
pagedDatasetProfile
.
toMap
(
values
);
JSONObject
jobject
=
new
JSONObject
(
values
);
return
jobject
.
toString
();
...
...
dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java
View file @
06364873
...
...
@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
import
java.io.IOException
;
import
java.math.BigInteger
;
import
java.util.*
;
import
java.util.stream.Collectors
;
public
class
WordBuilder
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
WordBuilder
.
class
);
...
...
@@ -178,7 +179,8 @@ public class WordBuilder {
}
hasValue
=
createFields
(
compositeField
.
getFields
(),
mainDocumentPart
,
3
,
createListing
,
visibilityRuleService
);
if
(
compositeField
.
getMultiplicityItems
()
!=
null
&&
!
compositeField
.
getMultiplicityItems
().
isEmpty
())
{
for
(
FieldSet
multiplicityFieldset
:
compositeField
.
getMultiplicityItems
())
{
List
<
FieldSet
>
list
=
compositeField
.
getMultiplicityItems
().
stream
().
sorted
(
Comparator
.
comparingInt
(
FieldSet:
:
getOrdinal
)).
collect
(
Collectors
.
toList
());
for
(
FieldSet
multiplicityFieldset
:
list
)
{
hasValue
=
createFields
(
multiplicityFieldset
.
getFields
(),
mainDocumentPart
,
3
,
createListing
,
visibilityRuleService
);
}
}
...
...
@@ -198,7 +200,8 @@ public class WordBuilder {
private
Boolean
createFields
(
List
<
Field
>
fields
,
XWPFDocument
mainDocumentPart
,
Integer
indent
,
Boolean
createListing
,
VisibilityRuleService
visibilityRuleService
)
{
if
(
createListing
)
this
.
addListing
(
mainDocumentPart
,
indent
,
false
,
false
);
boolean
hasValue
=
false
;
for
(
Field
field:
fields
)
{
List
<
Field
>
tempFields
=
fields
.
stream
().
sorted
(
Comparator
.
comparingInt
(
Field:
:
getOrdinal
)).
collect
(
Collectors
.
toList
());
for
(
Field
field:
tempFields
)
{
if
(
visibilityRuleService
.
isElementVisible
(
field
.
getId
()))
{
if
(!
createListing
)
{
try
{
...
...
dmp-backend/web/src/main/java/eu/eudat/models/data/user/components/datasetprofile/FieldSet.java
View file @
06364873
...
...
@@ -175,12 +175,12 @@ public class FieldSet implements Comparable, PropertiesModelBuilder, ViewStyleDe
private
FieldSet
CloneForMultiplicity2
(
List
<
String
>
key
,
Map
<
String
,
Object
>
properties
,
String
[]
ids
,
int
index
){
FieldSet
newFieldSet
=
new
FieldSet
();
newFieldSet
.
id
=
ids
[
0
]+
"_"
+
ids
[
1
]+
"_"
+
ids
[
2
];
newFieldSet
.
id
=
ids
[
0
]+
"_"
+
ids
[
1
]+
"_"
+
ids
[
2
]
+
(
ids
.
length
>
4
?
"_"
+
ids
[
3
]
:
""
)
;
newFieldSet
.
description
=
this
.
description
;
newFieldSet
.
extendedDescription
=
this
.
extendedDescription
;
newFieldSet
.
additionalInformation
=
this
.
additionalInformation
;
newFieldSet
.
title
=
this
.
title
;
newFieldSet
.
ordinal
=
this
.
ordinal
;
newFieldSet
.
ordinal
=
ids
.
length
>
4
?
Integer
.
valueOf
(
ids
[
3
])
:
this
.
ordinal
;
newFieldSet
.
fields
=
new
LinkedList
();
for
(
Field
field:
this
.
fields
)
{
...
...
dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts
View file @
06364873
...
...
@@ -196,7 +196,7 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel {
cloneForMultiplicity
(
item
:
CompositeField
,
ordinal
:
number
,
idMappings
:{
old
:
string
,
new
:
string
}[]
=
[]):
DatasetDescriptionCompositeFieldEditorModel
{
const
newItem
:
DatasetDescriptionCompositeFieldEditorModel
=
new
DatasetDescriptionCompositeFieldEditorModel
();
newItem
.
id
=
'
multiple_
'
+
item
.
id
+
'
_
'
+
Guid
.
create
();
newItem
.
id
=
'
multiple_
'
+
item
.
id
+
'
_
'
+
Guid
.
create
()
+
'
_
'
+
ordinal
;
idMappings
.
push
({
old
:
item
.
id
,
new
:
newItem
.
id
});
item
.
fields
.
forEach
((
field
,
index
)
=>
{
...
...
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