Skip to content

Commit f4292e6

Browse files
committed
Merge branch 'develop' into 11879-6.9-release-notes
2 parents 7bc8a31 + fd75558 commit f4292e6

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

src/main/java/edu/harvard/iq/dataverse/DatasetField.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ public void setParentDatasetFieldCompoundValue(DatasetFieldCompoundValue parentD
172172
}
173173

174174
@OneToMany(mappedBy = "parentDatasetField", orphanRemoval = true, cascade = {CascadeType.REMOVE, CascadeType.MERGE, CascadeType.PERSIST})
175+
@OrderBy("displayOrder ASC")
175176
private List<DatasetFieldCompoundValue> datasetFieldCompoundValues = new ArrayList<>();
176177

177178
public List<DatasetFieldCompoundValue> getDatasetFieldCompoundValues() {

src/main/java/edu/harvard/iq/dataverse/engine/command/impl/CreateTemplateCommand.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,16 @@ public Template execute(CommandContext ctxt) throws CommandException {
4949
}
5050

5151
Template createdTemplate = ctxt.templates().save(template);
52-
53-
if (initialize && template.isIsDefaultForDataverse()) {
52+
53+
createdTemplate.setIsDefaultForDataverse(template.isIsDefaultForDataverse());
54+
if (initialize && createdTemplate.isIsDefaultForDataverse()) {
5455
dataverse.setDefaultTemplate(createdTemplate);
5556
ctxt.em().merge(dataverse);
56-
}
57+
}
58+
59+
ctxt.em().flush();
60+
return createdTemplate;
5761

58-
return template;
5962
}
6063

6164
private static void updateTermsOfUseAndAccess(CommandContext ctxt, Template template) {

src/test/java/edu/harvard/iq/dataverse/engine/command/impl/CreateTemplateCommandTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.mockito.Mockito;
1919
import org.mockito.Spy;
2020
import org.mockito.junit.jupiter.MockitoExtension;
21+
import jakarta.persistence.EntityManager;
2122

2223
import java.util.Collections;
2324
import java.util.List;
@@ -42,6 +43,8 @@ public class CreateTemplateCommandTest {
4243
private LicenseServiceBean licenseServiceBeanMock;
4344
@Mock
4445
private DataverseFieldTypeInputLevelServiceBean fieldTypeInputLevelServiceBeanMock;
46+
@Mock
47+
private EntityManager em;
4548

4649
@Spy
4750
private Template templateSpy;
@@ -53,15 +56,18 @@ public class CreateTemplateCommandTest {
5356
public void setUp() {
5457
dataverseRequestStub = Mockito.mock(DataverseRequest.class);
5558
when(contextMock.templates()).thenReturn(templateServiceBeanStub);
59+
when(contextMock.em()).thenReturn(em);
5660
}
5761

5862
@Test
5963
public void execute_shouldSaveTemplate_noInitialization() throws CommandException {
6064
// Create the command with initialization set to false
6165

6266
CreateTemplateCommand sut = new CreateTemplateCommand(templateSpy, dataverseRequestStub, dataverseMock, false);
63-
67+
Template savedTemplate = mock(Template.class);
68+
when(templateServiceBeanStub.save(templateSpy)).thenReturn(savedTemplate);
6469
// Act
70+
6571

6672
sut.execute(contextMock);
6773

@@ -83,6 +89,9 @@ public void execute_shouldInitializeAndSaveTemplate_withInitialization() throws
8389

8490
when(dataverseMock.getId()).thenReturn(42L);
8591
when(dataverseMock.isMetadataBlockRoot()).thenReturn(true);
92+
93+
Template savedTemplate = mock(Template.class);
94+
when(templateServiceBeanStub.save(templateSpy)).thenReturn(savedTemplate);
8695

8796
// Mock system metadata blocks
8897

0 commit comments

Comments
 (0)