mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-14 05:23:14 +00:00
90902: Found and fixed bug in test_placeRecalculationAfterDelete
This commit is contained in:
@@ -1678,19 +1678,19 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
// relationship - volume 1 & issue 1
|
// relationship - volume 1 & issue 1
|
||||||
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i1_1, isIssueOfJournalVolume).build();
|
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i1_1, isIssueOfJournalVolume).build();
|
||||||
|
|
||||||
// metadata - volume 3 & issue 2
|
// metadata - volume 1 & issue 2
|
||||||
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 2 (plain)");
|
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 2 (plain)");
|
||||||
|
|
||||||
// relationship - volume 1 & issue 3
|
// relationship - volume 1 & issue 3
|
||||||
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i3_1, isIssueOfJournalVolume).build();
|
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i3_1, isIssueOfJournalVolume).build();
|
||||||
|
|
||||||
// metadata - volume 3 & issue 4
|
// metadata - volume 1 & issue 4
|
||||||
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 4 (plain)");
|
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 4 (plain)");
|
||||||
|
|
||||||
// relationship - volume 1 & issue 5
|
// relationship - volume 1 & issue 5
|
||||||
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i5_1, isIssueOfJournalVolume).build();
|
RelationshipBuilder.createRelationshipBuilder(context, v1_1, i5_1, isIssueOfJournalVolume).build();
|
||||||
|
|
||||||
// metadata - volume 3 & issue 6
|
// metadata - volume 1 & issue 6
|
||||||
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 6 (plain)");
|
itemService.addMetadata(context, v1_1, "publicationissue", "issueNumber", null, null, "issue nr 6 (plain)");
|
||||||
|
|
||||||
// SUMMARY
|
// SUMMARY
|
||||||
@@ -1698,9 +1698,9 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
// volume 3
|
// volume 3
|
||||||
// - pos 0: issue 1 (rel)
|
// - pos 0: issue 1 (rel)
|
||||||
// - pos 1: issue 2 (plain)
|
// - pos 1: issue 2 (plain)
|
||||||
// - pos 2: issue 3 (rel) [A]
|
// - pos 2: issue 3 (rel)
|
||||||
// - pos 3: issue 4 (plain)
|
// - pos 3: issue 4 (plain)
|
||||||
// - pos 4: issue 5 (rel) [B]
|
// - pos 4: issue 5 (rel)
|
||||||
// - pos 5: issue 6 (plain)
|
// - pos 5: issue 6 (plain)
|
||||||
|
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
@@ -1737,11 +1737,9 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(5, mdvs1.get(5).getPlace());
|
assertEquals(5, mdvs1.get(5).getPlace());
|
||||||
|
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
// create new version - volume 3.2 //
|
// create new version - volume 1.2 //
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
|
|
||||||
//TODO: This currently fails because we're creating a second relationship
|
|
||||||
//This is rejected in org.dspace.content.RelationshipServiceImpl.verifyMaxCardinality
|
|
||||||
Item v1_2 = versioningService.createNewVersion(context, v1_1).getItem();
|
Item v1_2 = versioningService.createNewVersion(context, v1_1).getItem();
|
||||||
installItemService.installItem(context, workspaceItemService.findByItem(context, v1_2));
|
installItemService.installItem(context, workspaceItemService.findByItem(context, v1_2));
|
||||||
context.commit();
|
context.commit();
|
||||||
@@ -1755,7 +1753,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
context.commit();
|
context.commit();
|
||||||
|
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
// after version creation - verify volume 3.1 //
|
// after version creation - verify volume 1.1 //
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
@@ -1797,7 +1795,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(5, mdvs4.get(5).getPlace());
|
assertEquals(5, mdvs4.get(5).getPlace());
|
||||||
|
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
// after version creation - verify volume 3.2 //
|
// after version creation - verify volume 1.2 //
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
@@ -1840,7 +1838,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(5, mdvs7.get(5).getPlace());
|
assertEquals(5, mdvs7.get(5).getPlace());
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// remove relationship - volume 3.2 & issue 3.2 //
|
// remove relationship - volume 1.2 & issue 3.2 //
|
||||||
// since an issue needs a relationship, delete the issue //
|
// since an issue needs a relationship, delete the issue //
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@@ -1901,7 +1899,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(5, mdvs9.get(5).getPlace());
|
assertEquals(5, mdvs9.get(5).getPlace());
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
// after remove 1 - verify volume 3.2 //
|
// after remove 1 - verify volume 1.2 //
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
@@ -1940,7 +1938,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(4, mdvs12.get(4).getPlace());
|
assertEquals(4, mdvs12.get(4).getPlace());
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
// remove metadata value - volume 3.2 //
|
// remove metadata value - volume 1.2 //
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
MetadataValue removeMdv1 = mdvs12.get(2);
|
MetadataValue removeMdv1 = mdvs12.get(2);
|
||||||
@@ -1951,18 +1949,13 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(2, removeMdv1.getPlace());
|
assertEquals(2, removeMdv1.getPlace());
|
||||||
assertEquals(v1_2, removeMdv1.getDSpaceObject());
|
assertEquals(v1_2, removeMdv1.getDSpaceObject());
|
||||||
|
|
||||||
metadataValueService.delete(context, removeMdv1);
|
itemService.removeMetadataValues(context, v1_2, List.of(removeMdv1));
|
||||||
// NOTE: needed to avoid Hibernate Exception: javax.persistence.EntityNotFoundException:
|
// NOTE: after removal, update is required to do place recalculation, among other things
|
||||||
// "deleted object would be re-saved by cascade (remove deleted object from associations)"
|
itemService.update(context, v1_2);
|
||||||
if (v1_2.getMetadata().removeIf(removeMdv1::equals)) {
|
|
||||||
v1_2.setMetadataModified();
|
|
||||||
}
|
|
||||||
context.commit();
|
context.commit();
|
||||||
|
|
||||||
// TODO cache busting?
|
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
// after remove 2 - verify volume 3.1 //
|
// after remove 2 - verify volume 1.1 //
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
@@ -2004,7 +1997,7 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
assertEquals(5, mdvs14.get(5).getPlace());
|
assertEquals(5, mdvs14.get(5).getPlace());
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
// after remove 2 - verify volume 3.2 //
|
// after remove 2 - verify volume 1.2 //
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
@@ -2012,8 +2005,8 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
containsInAnyOrder(List.of(
|
containsInAnyOrder(List.of(
|
||||||
isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0),
|
isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0),
|
||||||
isRel(v1_2, isIssueOfJournalVolume, i3_1, LEFT_ONLY, 2, 0),
|
isRel(v1_2, isIssueOfJournalVolume, i3_1, LEFT_ONLY, 2, 0),
|
||||||
// NOTE: left place was reduced by one
|
// NOTE: left place was reduced by one (from 3 to 2)
|
||||||
isRel(v1_2, isIssueOfJournalVolume, i5_1, BOTH, 3, 0)
|
isRel(v1_2, isIssueOfJournalVolume, i5_1, BOTH, 2, 0)
|
||||||
))
|
))
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -2032,15 +2025,11 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
|||||||
|
|
||||||
assertTrue(mdvs17.get(2) instanceof RelationshipMetadataValue);
|
assertTrue(mdvs17.get(2) instanceof RelationshipMetadataValue);
|
||||||
assertEquals("issue nr 5 (rel)", mdvs17.get(2).getValue());
|
assertEquals("issue nr 5 (rel)", mdvs17.get(2).getValue());
|
||||||
assertEquals(3, mdvs17.get(2).getPlace());
|
assertEquals(2, mdvs17.get(2).getPlace());
|
||||||
|
|
||||||
assertFalse(mdvs17.get(3) instanceof RelationshipMetadataValue);
|
assertFalse(mdvs17.get(3) instanceof RelationshipMetadataValue);
|
||||||
assertEquals("issue nr 6 (plain)", mdvs17.get(3).getValue());
|
assertEquals("issue nr 6 (plain)", mdvs17.get(3).getValue());
|
||||||
assertEquals(4, mdvs17.get(3).getPlace());
|
assertEquals(3, mdvs17.get(3).getPlace());
|
||||||
|
|
||||||
// TODO
|
|
||||||
// delete mdv from older
|
|
||||||
// delete rel from older
|
|
||||||
|
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
// delete volume first for min cardinality //
|
// delete volume first for min cardinality //
|
||||||
|
Reference in New Issue
Block a user