diff --git a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java index 2b30ea8cd3..15a2865e8f 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java @@ -52,7 +52,8 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); private RelationshipService relationshipService = ContentServiceFactory.getInstance().getRelationshipService(); - Collection collection; + private Collection publicationCollection; + private Collection personCollection; @Before @Override @@ -60,14 +61,19 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { super.setUp(); context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - this.collection = CollectionBuilder.createCollection(context, community).build(); + this.publicationCollection = CollectionBuilder.createCollection(context, community) + .withEntityType("Publication") + .build(); + this.personCollection = CollectionBuilder.createCollection(context, community) + .withEntityType("Person") + .build(); context.restoreAuthSystemState(); } @Test public void metadataImportTest() throws Exception { String[] csv = {"id,collection,dc.title,dc.contributor.author", - "+," + collection.getHandle() + ",\"Test Import 1\"," + "\"Donald, SmithImported\""}; + "+," + publicationCollection.getHandle() + ",\"Test Import 1\"," + "\"Donald, SmithImported\""}; performImportScript(csv); Item importedItem = findItemByName("Test Import 1"); assertTrue( @@ -105,7 +111,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { @Test public void relationshipMetadataImportTest() throws Exception { context.turnOffAuthorisationSystem(); - Item item = ItemBuilder.createItem(context, collection).withEntityType("Publication") + Item item = ItemBuilder.createItem(context, publicationCollection) .withTitle("Publication1").build(); EntityType publication = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); EntityType person = EntityTypeBuilder.createEntityTypeBuilder(context, "Person").build(); @@ -114,7 +120,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { context.restoreAuthSystemState(); String[] csv = {"id,collection,dc.title,relation.isPublicationOfAuthor,dspace.entity.type", - "+," + collection.getHandle() + ",\"Test Import 1\"," + item.getID() + ",Person"}; + "+," + personCollection.getHandle() + ",\"Test Import 1\"," + item.getID() + ",Person"}; performImportScript(csv); Item importedItem = findItemByName("Test Import 1"); @@ -128,11 +134,11 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { @Test public void relationshipMetadataImporAlreadyExistingItemTest() throws Exception { context.turnOffAuthorisationSystem(); - Item personItem = ItemBuilder.createItem(context, collection).withEntityType("Person") + Item personItem = ItemBuilder.createItem(context, personCollection) .withTitle("Person1").build(); List relationshipList = relationshipService.findByItem(context, personItem); assertEquals(0, relationshipList.size()); - Item publicationItem = ItemBuilder.createItem(context, collection).withEntityType("Publication") + Item publicationItem = ItemBuilder.createItem(context, publicationCollection) .withTitle("Publication1").build(); EntityType publication = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); @@ -143,7 +149,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { String[] csv = {"id,collection,relation.isPublicationOfAuthor", - personItem.getID() + "," + collection.getHandle() + "," + publicationItem.getID()}; + personItem.getID() + "," + publicationCollection.getHandle() + "," + publicationItem.getID()}; performImportScript(csv); Item importedItem = findItemByName("Person1"); @@ -156,7 +162,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { public void personMetadataImportTest() throws Exception { String[] csv = {"id,collection,dc.title,person.birthDate", - "+," + collection.getHandle() + ",\"Test Import 2\"," + "2000"}; + "+," + publicationCollection.getHandle() + ",\"Test Import 2\"," + "2000"}; performImportScript(csv); Item importedItem = findItemByName("Test Import 2"); assertTrue( @@ -172,7 +178,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { public void metadataImportRemovingValueTest() throws Exception { context.turnOffAuthorisationSystem(); - Item item = ItemBuilder.createItem(context, collection).withAuthor("TestAuthorToRemove").withTitle("title") + Item item = ItemBuilder.createItem(context,personCollection).withAuthor("TestAuthorToRemove").withTitle("title") .build(); context.restoreAuthSystemState(); @@ -182,7 +188,7 @@ public class MetadataImportIT extends AbstractIntegrationTestWithDatabase { "TestAuthorToRemove")); String[] csv = {"id,collection,dc.title,dc.contributor.author[*]", - item.getID().toString() + "," + collection.getHandle() + "," + item.getName() + ","}; + item.getID().toString() + "," + personCollection.getHandle() + "," + item.getName() + ","}; performImportScript(csv); item = findItemByName("title"); assertEquals(itemService.getMetadata(item, "dc", "contributor", "author", Item.ANY).size(), 0); diff --git a/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java b/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java index 34b075b6e7..c5a10d6f59 100644 --- a/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java +++ b/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java @@ -55,6 +55,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat //Common collection to utilize for test private Collection col1; + private Collection col2; private RelationshipService relationshipService = ContentServiceFactory.getInstance().getRelationshipService(); private ItemService itemService = ContentServiceFactory.getInstance().getItemService(); @@ -72,8 +73,15 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withName("Parent Community") .build(); - col1 = CollectionBuilder.createCollection(context, parentCommunity).withName("Collection 1").build(); + col1 = CollectionBuilder.createCollection(context, parentCommunity) + .withEntityType("Person") + .withName("Collection 1") + .build(); + col2 = CollectionBuilder.createCollection(context, parentCommunity) + .withEntityType("Publication") + .withName("Collection 1") + .build(); context.turnOffAuthorisationSystem(); @@ -130,7 +138,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat public void testSingleMdRef() throws Exception { String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,dc.identifier.other", "+,Person,," + col1.getHandle() + ",0", - "+,Publication,dc.identifier.other:0," + col1.getHandle() + ",1"}; + "+,Publication,dc.identifier.other:0," + col2.getHandle() + ",1"}; Item[] items = runImport(csv); assertRelationship(items[1], items[0], 1, "left", 0); } @@ -160,7 +168,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat String[] csv = {"id,dc.title,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName," + "dc.identifier.other", "+,Test Item 1,Person,," + col1.getHandle() + ",idVal,0", - "+,Test Item 2,Publication,rowName:idVal," + col1.getHandle() + ",anything,1"}; + "+,Test Item 2,Publication,rowName:idVal," + col2.getHandle() + ",anything,1"}; Item[] items = runImport(csv); assertRelationship(items[1], items[0], 1, "left", 0); } @@ -174,7 +182,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,dc.identifier.other", "+,Person,," + col1.getHandle() + ",0", "+,Person,," + col1.getHandle() + ",1", - "+,Publication,dc.identifier.other:0||dc.identifier.other:1," + col1.getHandle() + ",2"}; + "+,Publication,dc.identifier.other:0||dc.identifier.other:1," + col2.getHandle() + ",2"}; Item[] items = runImport(csv); assertRelationship(items[2], items[0], 1, "left", 0); assertRelationship(items[2], items[1], 1, "left", 1); @@ -189,7 +197,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,dc.identifier.other,rowName", "+,Person,," + col1.getHandle() + ",0,val1", "+,Person,," + col1.getHandle() + ",1,val2", - "+,Publication,rowName:val1||rowName:val2," + col1.getHandle() + ",2,val3"}; + "+,Publication,rowName:val1||rowName:val2," + col2.getHandle() + ",2,val3"}; Item[] items = runImport(csv); assertRelationship(items[2], items[0], 1, "left", 0); assertRelationship(items[2], items[1], 1, "left", 1); @@ -208,11 +216,10 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); context.restoreAuthSystemState(); String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName,dc.identifier.other", - "+,Publication," + person.getID().toString() + "," + col1.getHandle() + ",anything,0"}; + "+,Publication," + person.getID().toString() + "," + col2.getHandle() + ",anything,0"}; Item[] items = runImport(csv); assertRelationship(items[0], person, 1, "left", 0); } @@ -230,7 +237,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); Item person2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") @@ -238,11 +244,10 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, John") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("John") - .withEntityType("Person") .build(); String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName,dc.identifier.other", "+,Publication," + person.getID().toString() + "||" + person2.getID().toString() + "," + - col1.getHandle() + ",anything,0"}; + col2.getHandle() + ",anything,0"}; Item[] items = runImport(csv); assertRelationship(items[0], person, 1, "left", 0); assertRelationship(items[0], person2, 1, "left", 1); @@ -261,12 +266,11 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); String[] csv = {"id,dc.title,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName," + "dc.identifier.other", "+,Person2,Person,," + col1.getHandle() + ",idVal,0", - "+,Pub1,Publication,dc.title:Person||dc.title:Person2," + col1.getHandle() + ",anything,1"}; + "+,Pub1,Publication,dc.title:Person||dc.title:Person2," + col2.getHandle() + ",anything,1"}; context.restoreAuthSystemState(); Item[] items = runImport(csv); assertRelationship(items[1], person, 1, "left", 0); @@ -287,7 +291,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); Item person2 = ItemBuilder.createItem(context, col1) .withTitle("Person2") @@ -295,7 +298,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, John") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("John") - .withEntityType("Person") .build(); context.restoreAuthSystemState(); @@ -303,7 +305,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat "dc.identifier.other", "+,Person3,Person,," + col1.getHandle() + ",idVal,0", "+,Pub1,Publication," + person.getID() + "||dc.title:Person2||rowName:idVal," + - col1.getHandle() + ",anything,1"}; + col2.getHandle() + ",anything,1"}; Item[] items = runImport(csv); assertRelationship(items[1], person, 1, "left", 0); assertRelationship(items[1], person2, 1, "left", 1); @@ -319,7 +321,7 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat String[] csv = {"id,dc.title,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName," + "dc.identifier.other", "+,Person:,Person,," + col1.getHandle() + ",idVal,0", - "+,Pub1,Publication,dc.title:Person:," + col1.getHandle() + ",anything,1"}; + "+,Pub1,Publication,dc.title:Person:," + col2.getHandle() + ",anything,1"}; Item[] items = runImport(csv); assertRelationship(items[1], items[0], 1, "left", 0); } @@ -360,7 +362,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .withIdentifierOther("1") .build(); Item person2 = ItemBuilder.createItem(context, col1) @@ -369,7 +370,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, John") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("John") - .withEntityType("Person") .withIdentifierOther("1") .build(); @@ -391,7 +391,6 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .withIdentifierOther("1") .build(); context.restoreAuthSystemState(); @@ -451,11 +450,21 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat @Test(expected = MetadataImportInvalidHeadingException.class) public void testInvalidRelationshipArchivedOrigin() throws Exception { context.turnOffAuthorisationSystem(); - Item testItem = ItemBuilder.createItem(context, col1) + + Community rootCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + + Collection orgUnitCollection = CollectionBuilder.createCollection(context, rootCommunity) + .withEntityType("OrgUnit") + .withName("Collection 1") + .build(); + + Item testItem = ItemBuilder.createItem(context, orgUnitCollection) .withTitle("OrgUnit") .withIssueDate("2017-10-17") - .withEntityType("OrgUnit") .build(); + context.restoreAuthSystemState(); String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName", "+,Person,," + col1.getHandle() + ",1" + @@ -469,11 +478,21 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat @Test(expected = MetadataImportInvalidHeadingException.class) public void testInvalidRelationshipArchivedTarget() throws Exception { context.turnOffAuthorisationSystem(); - Item testItem = ItemBuilder.createItem(context, col1) + + Community rootCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + + Collection orgUnitCollection = CollectionBuilder.createCollection(context, rootCommunity) + .withEntityType("OrgUnit") + .withName("Collection 1") + .build(); + + Item testItem = ItemBuilder.createItem(context, orgUnitCollection) .withTitle("OrgUnit") .withIssueDate("2017-10-17") - .withEntityType("OrgUnit") .build(); + context.restoreAuthSystemState(); String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,rowName", testItem.getID().toString() + ",Person,," + col1.getHandle() + ",1" + @@ -488,29 +507,40 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat public void testValidRelationshipNoDefinedTypesInCSV() throws Exception { context.turnOffAuthorisationSystem(); + Community rootCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + + Collection publicationCollection = CollectionBuilder.createCollection(context, rootCommunity) + .withEntityType("Publication") + .withName("Collection 1") + .build(); + + Collection projectCollection = CollectionBuilder.createCollection(context, rootCommunity) + .withEntityType("Project") + .withName("Collection 1") + .build(); + Item testItem = ItemBuilder.createItem(context, col1) .withTitle("Person") .withIssueDate("2017-10-17") .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .withIdentifierOther("testItemOne") .build(); - Item testItem2 = ItemBuilder.createItem(context, col1) + Item testItem2 = ItemBuilder.createItem(context, publicationCollection) .withTitle("Publication") .withIssueDate("2017-10-17") - .withEntityType("Publication") .withIdentifierOther("testItemTwo") .build(); - Item testItem3 = ItemBuilder.createItem(context, col1) + Item testItem3 = ItemBuilder.createItem(context, projectCollection) .withTitle("Project") .withIssueDate("2017-10-17") - .withEntityType("Project") .withIdentifierOther("testItemThree") .build(); @@ -532,8 +562,8 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat public void testDuplicateRowNameReferences() throws Exception { String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,dc.identifier.other,rowName", "+,Person,," + col1.getHandle() + ",0,value", - "+,Publication,rowName:value," + col1.getHandle() + ",1,1", - "+,Publication,rowName:value," + col1.getHandle() + ",2,2"}; + "+,Publication,rowName:value," + col2.getHandle() + ",1,1", + "+,Publication,rowName:value," + col2.getHandle() + ",2,2"}; Item[] items = runImport(csv); assertRelationship(items[1], items[0], 1, "left", 0); assertRelationship(items[2], items[0], 1, "left", 0); @@ -548,13 +578,12 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .withIdentifierOther("testItemOne") .build(); String[] csv = {"id,dspace.entity.type,relation.isAuthorOfPublication,collection,dc.identifier.other,rowName", - "+,Publication," + testItem.getID() + "::virtual::4::600," + col1.getHandle() + ",0,1"}; + "+,Publication," + testItem.getID() + "::virtual::4::600," + col2.getHandle() + ",0,1"}; Item[] items = runImport(csv); assertRelationship(items[0], testItem, 1, "left", 0); } @@ -566,11 +595,20 @@ public class CSVMetadataImportReferenceIT extends AbstractIntegrationTestWithDat public void testInvalidTypeNameDefined() throws Exception { context.turnOffAuthorisationSystem(); - Item testItem = ItemBuilder.createItem(context, col1) + Community rootCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + + Collection publicationCollection = CollectionBuilder.createCollection(context, rootCommunity) + .withEntityType("Publication") + .withName("Collection 1") + .build(); + + Item testItem = ItemBuilder.createItem(context, publicationCollection) .withTitle("Publication") .withIssueDate("2017-10-17") - .withEntityType("Publication") .build(); + context.restoreAuthSystemState(); String[] csv = {"id,collection,dspace.entity.type,dc.title," + "relation.isProjectOfPublication,relation.isPublicationOfProject", diff --git a/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java b/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java index c4bdbe7d54..141322fdf5 100644 --- a/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java @@ -95,10 +95,6 @@ public class ItemBuilder extends AbstractDSpaceObjectBuilder { subject, authority, confidence); } - public ItemBuilder withEntityType(final String entityType) { - return addMetadataValue(item, "dspace", "entity", "type", entityType); - } - public ItemBuilder withType(final String type) { return addMetadataValue(item, "dc", "type", null, type); } diff --git a/dspace-api/src/test/java/org/dspace/content/LeftTiltedRelationshipMetadataServiceIT.java b/dspace-api/src/test/java/org/dspace/content/LeftTiltedRelationshipMetadataServiceIT.java index f8b836ca51..4aa0677bc5 100644 --- a/dspace-api/src/test/java/org/dspace/content/LeftTiltedRelationshipMetadataServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/content/LeftTiltedRelationshipMetadataServiceIT.java @@ -33,8 +33,8 @@ public class LeftTiltedRelationshipMetadataServiceIT extends RelationshipMetadat EntityType publicationEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); EntityType authorEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Author").build(); - leftItem = ItemBuilder.createItem(context, col).withEntityType("Publication").build(); - rightItem = ItemBuilder.createItem(context, col).withEntityType("Author") + leftItem = ItemBuilder.createItem(context, col).build(); + rightItem = ItemBuilder.createItem(context, col2) .withPersonIdentifierLastName("familyName") .withPersonIdentifierFirstName("firstName").build(); isAuthorOfPublicationRelationshipType = diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipMetadataServiceIT.java b/dspace-api/src/test/java/org/dspace/content/RelationshipMetadataServiceIT.java index 8ade8ca1f6..a1996a64fc 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipMetadataServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipMetadataServiceIT.java @@ -56,6 +56,7 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa Item leftItem; Item rightItem; Collection col; + Collection col2; Relationship relationship; RelationshipType isAuthorOfPublicationRelationshipType; @@ -75,10 +76,15 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - col = CollectionBuilder.createCollection(context, community).build(); + col = CollectionBuilder.createCollection(context, community) + .withEntityType("Publication") + .build(); + col2 = CollectionBuilder.createCollection(context, community) + .withEntityType("Author") + .build(); leftItem = ItemBuilder.createItem(context, col).build(); - rightItem = ItemBuilder.createItem(context, col).build(); + rightItem = ItemBuilder.createItem(context, col2).build(); context.restoreAuthSystemState(); } @@ -90,8 +96,8 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa context.turnOffAuthorisationSystem(); EntityType publicationEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); EntityType authorEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Author").build(); - leftItem = ItemBuilder.createItem(context, col).withEntityType("Publication").build(); - rightItem = ItemBuilder.createItem(context, col).withEntityType("Author") + leftItem = ItemBuilder.createItem(context, col).build(); + rightItem = ItemBuilder.createItem(context, col2) .withPersonIdentifierLastName("familyName") .withPersonIdentifierFirstName("firstName").build(); isAuthorOfPublicationRelationshipType = @@ -114,8 +120,8 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa context.turnOffAuthorisationSystem(); EntityType publicationEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); EntityType authorEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Author").build(); - leftItem = ItemBuilder.createItem(context, col).withEntityType("Publication").build(); - rightItem = ItemBuilder.createItem(context, col).withEntityType("Author") + leftItem = ItemBuilder.createItem(context, col).build(); + rightItem = ItemBuilder.createItem(context, col2) .withPersonIdentifierLastName("familyName") .withPersonIdentifierFirstName("firstName").build(); RelationshipType isAuthorOfPublication = @@ -135,12 +141,21 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa */ protected void initJournalVolumeIssue() throws Exception { context.turnOffAuthorisationSystem(); + Community community = CommunityBuilder.createCommunity(context).build(); + + Collection col = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalIssue") + .build(); + Collection col2 = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalVolume") + .build(); + EntityType journalIssueEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalIssue").build(); EntityType publicationVolumeEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalVolume").build(); - leftItem = ItemBuilder.createItem(context, col).withEntityType("JournalIssue") + leftItem = ItemBuilder.createItem(context, col) .withPublicationIssueNumber("2").build(); - rightItem = ItemBuilder.createItem(context, col).withEntityType("JournalVolume") + rightItem = ItemBuilder.createItem(context, col2) .withPublicationVolumeNumber("30").build(); RelationshipType isIssueOfVolume = RelationshipTypeBuilder @@ -607,10 +622,8 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa assertThat(relationshipService.findNextRightPlaceByRightItem(context, rightItem), equalTo(1)); context.turnOffAuthorisationSystem(); - Community community = CommunityBuilder.createCommunity(context).build(); - Collection col = CollectionBuilder.createCollection(context, community).build(); - Item secondItem = ItemBuilder.createItem(context, col).withEntityType("Publication").build(); + Item secondItem = ItemBuilder.createItem(context, col).build(); RelationshipBuilder.createRelationshipBuilder(context, secondItem, rightItem, isAuthorOfPublicationRelationshipType).build(); context.restoreAuthSystemState(); @@ -626,10 +639,8 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa assertThat(relationshipService.findNextLeftPlaceByLeftItem(context, leftItem), equalTo(1)); context.turnOffAuthorisationSystem(); - Community community = CommunityBuilder.createCommunity(context).build(); - Collection col = CollectionBuilder.createCollection(context, community).build(); - Item secondAuthor = ItemBuilder.createItem(context, col).withEntityType("Author") + Item secondAuthor = ItemBuilder.createItem(context, col2) .withPersonIdentifierFirstName("firstName") .withPersonIdentifierLastName("familyName").build(); @@ -647,6 +658,22 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa // Journal, JournalVolume, JournalIssue, Publication items, related to each other using the relationship types // isJournalOfVolume, isJournalVolumeOfIssue, isJournalIssueOfPublication. context.turnOffAuthorisationSystem(); + + Community community = CommunityBuilder.createCommunity(context).build(); + + Collection col = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalIssue") + .build(); + Collection col2 = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalVolume") + .build(); + Collection col3 = CollectionBuilder.createCollection(context, community) + .withEntityType("Journal") + .build(); + Collection col4 = CollectionBuilder.createCollection(context, community) + .withEntityType("Publication") + .build(); + EntityType publicationEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); EntityType journalIssueEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalIssue").build(); EntityType journalVolumeEntityType = @@ -666,24 +693,21 @@ public class RelationshipMetadataServiceIT extends AbstractIntegrationTestWithDa null) .build(); - Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - - Item journalIssue = ItemBuilder.createItem(context, collection).withEntityType("JournalIssue").build(); - Item journalVolume = ItemBuilder.createItem(context, collection) + Item journalIssue = ItemBuilder.createItem(context, col).build(); + Item journalVolume = ItemBuilder.createItem(context, col2) .withPublicationVolumeNumber("30") - .withEntityType("JournalVolume").build(); - Item journal = ItemBuilder.createItem(context, collection) + .build(); + Item journal = ItemBuilder.createItem(context, col3) .withMetadata("creativeworkseries", "issn", null, "issn journal") - .withEntityType("Journal").build(); + .build(); RelationshipBuilder.createRelationshipBuilder(context, journalIssue, journalVolume, isJournalVolumeOfIssueRelationshipType).build(); RelationshipBuilder.createRelationshipBuilder(context, journalVolume, journal, isJournalVolumeOfJournalRelationshipType).build(); - Item publication = ItemBuilder.createItem(context, collection) + Item publication = ItemBuilder.createItem(context, col4) .withTitle("Pub 1") - .withEntityType("Publication").build(); + .build(); RelationshipBuilder.createRelationshipBuilder(context, publication, journalIssue, isJournalIssueOfPublicationRelationshipType).build(); diff --git a/dspace-api/src/test/java/org/dspace/content/RightTiltedRelationshipMetadataServiceIT.java b/dspace-api/src/test/java/org/dspace/content/RightTiltedRelationshipMetadataServiceIT.java index 92d2961a43..fc57f588db 100644 --- a/dspace-api/src/test/java/org/dspace/content/RightTiltedRelationshipMetadataServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/content/RightTiltedRelationshipMetadataServiceIT.java @@ -12,6 +12,8 @@ import static org.hamcrest.MatcherAssert.assertThat; import java.util.List; +import org.dspace.builder.CollectionBuilder; +import org.dspace.builder.CommunityBuilder; import org.dspace.builder.EntityTypeBuilder; import org.dspace.builder.ItemBuilder; import org.dspace.builder.RelationshipBuilder; @@ -29,12 +31,22 @@ public class RightTiltedRelationshipMetadataServiceIT extends RelationshipMetada @Override protected void initJournalVolumeIssue() throws Exception { context.turnOffAuthorisationSystem(); + + Community community = CommunityBuilder.createCommunity(context).build(); + + Collection col = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalIssue") + .build(); + Collection col2 = CollectionBuilder.createCollection(context, community) + .withEntityType("JournalVolume") + .build(); + EntityType journalIssueEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalIssue").build(); EntityType publicationVolumeEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalVolume").build(); - leftItem = ItemBuilder.createItem(context, col).withEntityType("JournalIssue") + leftItem = ItemBuilder.createItem(context, col) .withPublicationIssueNumber("2").build(); - rightItem = ItemBuilder.createItem(context, col).withEntityType("JournalVolume") + rightItem = ItemBuilder.createItem(context, col2) .withPublicationVolumeNumber("30").build(); RelationshipType isIssueOfVolume = RelationshipTypeBuilder diff --git a/dspace-api/src/test/java/org/dspace/statistics/export/processor/ExportEventProcessorIT.java b/dspace-api/src/test/java/org/dspace/statistics/export/processor/ExportEventProcessorIT.java index 44848d579b..e42003e4fc 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/export/processor/ExportEventProcessorIT.java +++ b/dspace-api/src/test/java/org/dspace/statistics/export/processor/ExportEventProcessorIT.java @@ -134,8 +134,10 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase public void testShouldProcessItemWhenCanEdit() throws SQLException { context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - Item item = ItemBuilder.createItem(context, collection).withEntityType(otherEntity.getLabel()).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(otherEntity.getLabel()) + .build(); + Item item = ItemBuilder.createItem(context, collection).build(); context.restoreAuthSystemState(); context.setCurrentUser(admin); @@ -154,10 +156,11 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(publication.getLabel()) + .build(); Item item = ItemBuilder.createItem(context, collection) .withType("Excluded type") - .withEntityType(publication.getLabel()) .build(); context.restoreAuthSystemState(); @@ -176,8 +179,10 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase public void testShouldProcessItemWhenShouldNotProcessEntity() throws SQLException { context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - Item item = ItemBuilder.createItem(context, collection).withEntityType(otherEntity.getLabel()).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(otherEntity.getLabel()) + .build(); + Item item = ItemBuilder.createItem(context, collection).build(); context.restoreAuthSystemState(); ExportEventProcessor exportEventProcessor = new ItemEventProcessor(context, request, item); @@ -194,8 +199,10 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase public void testShouldProcessItem() throws SQLException { context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - Item item = ItemBuilder.createItem(context, collection).withEntityType(publication.getLabel()).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(publication.getLabel()) + .build(); + Item item = ItemBuilder.createItem(context, collection).build(); context.restoreAuthSystemState(); ExportEventProcessor exportEventProcessor = new ItemEventProcessor(context, request, item); @@ -213,8 +220,10 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase public void testShouldProcessEntityType() throws SQLException { context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - Item item = ItemBuilder.createItem(context, collection).withEntityType(publication.getLabel()).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(publication.getLabel()) + .build(); + Item item = ItemBuilder.createItem(context, collection).build(); context.restoreAuthSystemState(); ExportEventProcessor exportEventProcessor = new ItemEventProcessor(context, request, item); @@ -231,8 +240,10 @@ public class ExportEventProcessorIT extends AbstractIntegrationTestWithDatabase public void testShouldProcessEntityTypeWhenNotInList() throws SQLException { context.turnOffAuthorisationSystem(); Community community = CommunityBuilder.createCommunity(context).build(); - Collection collection = CollectionBuilder.createCollection(context, community).build(); - Item item = ItemBuilder.createItem(context, collection).withEntityType(otherEntity.getLabel()).build(); + Collection collection = CollectionBuilder.createCollection(context, community) + .withEntityType(otherEntity.getLabel()) + .build(); + Item item = ItemBuilder.createItem(context, collection).build(); context.restoreAuthSystemState(); ExportEventProcessor exportEventProcessor = new ItemEventProcessor(context, request, item); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java index 7c57e98f1c..b1134e5376 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java @@ -76,6 +76,7 @@ public class PatchMetadataIT extends AbstractEntityIntegrationTest { private WorkspaceItemService workspaceItemService; private Collection collection; + private Collection collection2; private WorkspaceItem publicationItem; private Item personItem1; private Item personItem2; @@ -102,6 +103,11 @@ public class PatchMetadataIT extends AbstractEntityIntegrationTest { .build(); collection = CollectionBuilder.createCollection(context, community) .withName("Collection") + .withEntityType("Person") + .build(); + collection2 = CollectionBuilder.createCollection(context, community) + .withName("Collection") + .withEntityType("Publication") .build(); context.restoreAuthSystemState(); @@ -143,17 +149,14 @@ public class PatchMetadataIT extends AbstractEntityIntegrationTest { .withTitle("Person 1") .withPersonIdentifierFirstName("Sarah") .withPersonIdentifierLastName("Dahlen") - .withEntityType("Person") .build(); personItem2 = ItemBuilder.createItem(context, collection) .withTitle("Person 2") .withPersonIdentifierFirstName("Oliver") .withPersonIdentifierLastName("Linton") - .withEntityType("Person") .build(); - publicationItem = WorkspaceItemBuilder.createWorkspaceItem(context, collection) + publicationItem = WorkspaceItemBuilder.createWorkspaceItem(context, collection2) .withTitle("Publication 1") - .withEntityType("Publication") .build(); publicationPersonRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java index d28e649dbf..7df0b40068 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java @@ -60,6 +60,10 @@ public class RelationshipDeleteRestRepositoryIT extends AbstractEntityIntegratio private Item leftItem; private Item rightItem; private Collection collection; + private Collection collection2; + private Collection collection3; + private Collection collection4; + private Collection collection5; private RelationshipType relationshipType; private Relationship relationship; private String adminAuthToken; @@ -98,7 +102,33 @@ public class RelationshipDeleteRestRepositoryIT extends AbstractEntityIntegratio collection = CollectionBuilder.createCollection(context, community) .withName("Collection") .withAdminGroup(collectionAdmin) + .withEntityType("Publication") .build(); + + collection2 = CollectionBuilder.createCollection(context, community) + .withName("Collection 2") + .withAdminGroup(collectionAdmin) + .withEntityType("Person") + .build(); + + collection3 = CollectionBuilder.createCollection(context, community) + .withName("Collection 3") + .withAdminGroup(collectionAdmin) + .withEntityType("JournalIssue") + .build(); + + collection4 = CollectionBuilder.createCollection(context, community) + .withName("Collection 4") + .withAdminGroup(collectionAdmin) + .withEntityType("JournalVolume") + .build(); + + collection5 = CollectionBuilder.createCollection(context, community) + .withName("Collection 4") + .withAdminGroup(collectionAdmin) + .withEntityType("Project") + .build(); + context.restoreAuthSystemState(); } @@ -122,11 +152,9 @@ public class RelationshipDeleteRestRepositoryIT extends AbstractEntityIntegratio leftItem = ItemBuilder.createItem(context, collection) .withTitle("Left item") - .withEntityType("Publication") .build(); - rightItem = ItemBuilder.createItem(context, collection) + rightItem = ItemBuilder.createItem(context, collection2) .withTitle("Right item") - .withEntityType("Person") .withPersonIdentifierFirstName("firstName") .withPersonIdentifierLastName("familyName") .build(); @@ -144,14 +172,12 @@ public class RelationshipDeleteRestRepositoryIT extends AbstractEntityIntegratio private void initJournalVolumeIssue() throws Exception { context.turnOffAuthorisationSystem(); - leftItem = ItemBuilder.createItem(context, collection) + leftItem = ItemBuilder.createItem(context, collection3) .withTitle("Left item") - .withEntityType("JournalIssue") .withPublicationIssueNumber("2") .build(); - rightItem = ItemBuilder.createItem(context, collection) + rightItem = ItemBuilder.createItem(context, collection4) .withTitle("Right item") - .withEntityType("JournalVolume") .withPublicationVolumeNumber("30") .build(); relationshipType = relationshipTypeService @@ -167,19 +193,16 @@ public class RelationshipDeleteRestRepositoryIT extends AbstractEntityIntegratio private void initPersonProjectPublication() throws Exception { context.turnOffAuthorisationSystem(); - personItem = ItemBuilder.createItem(context, collection) + personItem = ItemBuilder.createItem(context, collection2) .withTitle("Person 1") .withPersonIdentifierFirstName("Donald") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); - projectItem = ItemBuilder.createItem(context, collection) + projectItem = ItemBuilder.createItem(context, collection5) .withTitle("Project 1") - .withEntityType("Project") .build(); publicationItem = ItemBuilder.createItem(context, collection) .withTitle("Publication 1") - .withEntityType("Publication") .build(); personProjectRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Person"), diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java index b64a5c95a8..0a094e9258 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java @@ -104,6 +104,10 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest protected Collection col1; protected Collection col2; protected Collection col3; + protected Collection col4; + protected Collection col5; + protected Collection col6; + protected Collection col7; protected Item author1; protected Item author2; @@ -134,9 +138,20 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest .withName("Sub Community") .build(); - col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); - col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); - col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); + col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Person").build(); + col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2") + .withEntityType("Publication").build(); + col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits") + .withEntityType("OrgUnit").build(); + col4 = CollectionBuilder.createCollection(context, child1).withName("Projects") + .withEntityType("Project").build(); + col5 = CollectionBuilder.createCollection(context, child1).withName("Projects") + .withEntityType("Journal").build(); + col6 = CollectionBuilder.createCollection(context, child1).withName("Projects") + .withEntityType("JournalVolume").build(); + col7 = CollectionBuilder.createCollection(context, child1).withName("Projects") + .withEntityType("JournalIssue").build(); author1 = ItemBuilder.createItem(context, col1) .withTitle("Author1") @@ -144,64 +159,55 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); - author2 = ItemBuilder.createItem(context, col2) + author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withAuthor("Smith, Maria") - .withEntityType("Person") .build(); - author3 = ItemBuilder.createItem(context, col2) + author3 = ItemBuilder.createItem(context, col1) .withTitle("Author3") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maybe") .withPersonIdentifierLastName("Maybe") - .withEntityType("Person") .build(); - publication1 = ItemBuilder.createItem(context, col3) + publication1 = ItemBuilder.createItem(context, col2) .withTitle("Publication1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); - publication2 = ItemBuilder.createItem(context, col3) + publication2 = ItemBuilder.createItem(context, col2) .withTitle("Publication2") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); orgUnit1 = ItemBuilder.createItem(context, col3) .withTitle("OrgUnit1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("OrgUnit") .build(); orgUnit2 = ItemBuilder.createItem(context, col3) .withTitle("OrgUnit2") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("OrgUnit") .build(); orgUnit3 = ItemBuilder.createItem(context, col3) .withTitle("OrgUnit3") .withAuthor("Test, Testy") .withIssueDate("2015-02-01") - .withEntityType("OrgUnit") .build(); - project1 = ItemBuilder.createItem(context, col3) + project1 = ItemBuilder.createItem(context, col4) .withTitle("Project1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("Project") .build(); isAuthorOfPublicationRelationshipType = relationshipTypeService @@ -666,29 +672,25 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest .withIssueDate("2017-10-17") .withPersonIdentifierFirstName("Donald") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); - Item author2 = ItemBuilder.createItem(context, col2) + Item author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maria") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); - Item author3 = ItemBuilder.createItem(context, col2) + Item author3 = ItemBuilder.createItem(context, col1) .withTitle("Author3") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maybe") .withPersonIdentifierLastName("Maybe") - .withEntityType("Person") .build(); - Item publication1 = ItemBuilder.createItem(context, col3) + Item publication1 = ItemBuilder.createItem(context, col2) .withTitle("Publication1") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService @@ -970,26 +972,23 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest context.turnOffAuthorisationSystem(); - Item publication1 = ItemBuilder.createItem(context, col3) + Item publication1 = ItemBuilder.createItem(context, col2) .withTitle("Publication1") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); - Item author2 = ItemBuilder.createItem(context, col2) + Item author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maria") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); - Item author3 = ItemBuilder.createItem(context, col2) + Item author3 = ItemBuilder.createItem(context, col1) .withTitle("Author3") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maybe") .withPersonIdentifierLastName("Maybe") - .withEntityType("Person") .build(); String adminToken = getAuthToken(admin.getEmail(), password); @@ -1183,26 +1182,23 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest context.turnOffAuthorisationSystem(); - Item publication1 = ItemBuilder.createItem(context, col3) + Item publication1 = ItemBuilder.createItem(context, col2) .withTitle("Publication1") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); - Item author2 = ItemBuilder.createItem(context, col2) + Item author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maria") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); - Item author3 = ItemBuilder.createItem(context, col2) + Item author3 = ItemBuilder.createItem(context, col1) .withTitle("Author3") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maybe") .withPersonIdentifierLastName("Maybe") - .withEntityType("Person") .build(); String adminToken = getAuthToken(admin.getEmail(), password); @@ -1395,12 +1391,11 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest public void deleteRelationship() throws Exception { context.turnOffAuthorisationSystem(); - Item author2 = ItemBuilder.createItem(context, col2) + Item author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withPersonIdentifierFirstName("Maria") .withPersonIdentifierLastName("Smith") - .withEntityType("Person") .build(); String adminToken = getAuthToken(admin.getEmail(), password); @@ -2390,7 +2385,6 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest .withAuthor("Smith, Donald") .withPersonIdentifierFirstName("testingFirstName") .withPersonIdentifierLastName("testingLastName") - .withEntityType("Person") .build(); Relationship relationship3 = RelationshipBuilder @@ -2759,16 +2753,10 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest String journalTitle = "Journal Title Test"; // Create entity items - Item journal = - ItemBuilder.createItem(context, col1).withEntityType("Journal").withTitle(journalTitle).build(); - Item journalVolume = - ItemBuilder.createItem(context, col1).withEntityType("JournalVolume").withTitle("JournalVolume") - .build(); - Item journalIssue = - ItemBuilder.createItem(context, col1).withEntityType("JournalIssue").withTitle("JournalIssue") - .build(); - Item publication = - ItemBuilder.createItem(context, col1).withEntityType("Publication").withTitle("Publication").build(); + Item journal = ItemBuilder.createItem(context, col5).withTitle(journalTitle).build(); + Item journalVolume = ItemBuilder.createItem(context, col6).withTitle("JournalVolume").build(); + Item journalIssue = ItemBuilder.createItem(context, col7).withTitle("JournalIssue").build(); + Item publication = ItemBuilder.createItem(context, col2).withTitle("Publication").build(); // Link Publication-Journal Issue RelationshipBuilder.createRelationshipBuilder(context, journalIssue, publication, isPublicationOfJournalIssue) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java index eb7945023d..efa018a614 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java @@ -110,56 +110,56 @@ public class RelationshipTypeRestControllerIT extends AbstractEntityIntegrationT Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) .withName("Sub Community") .build(); - Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); - Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); - Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Person").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2") + .withEntityType("Person").build(); + Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits") + .withEntityType("OrgUnit").build(); + Collection col4 = CollectionBuilder.createCollection(context, child1).withName("Publications") + .withEntityType("Publication").build(); + Collection col5 = CollectionBuilder.createCollection(context, child1).withName("without entityType") + .build(); Item author1 = ItemBuilder.createItem(context, col1) .withTitle("Author1") .withIssueDate("2017-10-17") .withAuthor("Smith, Donald") - .withEntityType("Person") .build(); Item author2 = ItemBuilder.createItem(context, col2) .withTitle("Author2") .withIssueDate("2016-02-13") .withAuthor("Smith, Maria") - .withEntityType("Person") .build(); Item author3 = ItemBuilder.createItem(context, col2) .withTitle("Author3") .withIssueDate("2016-02-13") .withAuthor("Maybe, Maybe") - .withEntityType("Person") .build(); Item orgUnit1 = ItemBuilder.createItem(context, col3) .withTitle("OrgUnit1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("OrgUnit") .build(); - Item project1 = ItemBuilder.createItem(context, col3) + Item project1 = ItemBuilder.createItem(context, col5) .withTitle("Project1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("Project") .build(); - Item publication = ItemBuilder.createItem(context, col3) + Item publication = ItemBuilder.createItem(context, col4) .withTitle("Publication1") .withAuthor("Testy, TEst") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); - Item publication2 = ItemBuilder.createItem(context, col3) + Item publication2 = ItemBuilder.createItem(context, col4) .withTitle("Publication2") .withIssueDate("2015-01-01") - .withEntityType("Publication") .build(); RelationshipType isOrgUnitOfPersonRelationshipType = relationshipTypeService diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java index ffaf6f2da7..a9e4599c2b 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java @@ -5181,8 +5181,8 @@ public class WorkspaceItemRestRepositoryIT extends AbstractControllerIntegration parentCommunity = CommunityBuilder.createCommunity(context) .withName("Parent Community") .build(); - Collection col1 = CollectionBuilder - .createCollection(context, parentCommunity).withName("Collection 1").build(); + Collection col1 = CollectionBuilder.createCollection(context, parentCommunity).withName("Collection 1") + .withEntityType("Person").build(); Item author1 = ItemBuilder.createItem(context, col1) .withTitle("Author1") @@ -5190,14 +5190,12 @@ public class WorkspaceItemRestRepositoryIT extends AbstractControllerIntegration .withAuthor("Smith, Donald") .withPersonIdentifierLastName("Smith") .withPersonIdentifierFirstName("Donald") - .withEntityType("Person") .build(); Item author2 = ItemBuilder.createItem(context, col1) .withTitle("Author2") .withIssueDate("2016-02-13") .withAuthor("Smith, Maria") - .withEntityType("Person") .build(); //2. One workspace item. diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvExportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvExportIT.java index 840347dc42..b3be9b0426 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvExportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvExportIT.java @@ -53,14 +53,14 @@ public class CsvExportIT extends AbstractControllerIntegrationTest { Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) .withName("Sub Community") .build(); - Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Publication").build(); Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); Item article = ItemBuilder.createItem(context, col1) .withTitle("Article") .withIssueDate("2017-10-17") - .withEntityType("Publication") .build(); AtomicReference idRef = new AtomicReference<>(); @@ -104,14 +104,14 @@ public class CsvExportIT extends AbstractControllerIntegrationTest { Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) .withName("Sub Community") .build(); - Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Publication").build(); Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); Item article = ItemBuilder.createItem(context, col1) .withTitle("Article") .withIssueDate("2017-10-17") - .withEntityType("Publication") .build(); AtomicReference idRef = new AtomicReference<>(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java index 6f8a010495..b2eb36215a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java @@ -84,26 +84,28 @@ public class CsvImportIT extends AbstractEntityIntegrationTest { Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) .withName("Sub Community") .build(); - Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); - Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); - Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Publication").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2") + .withEntityType("Person").build(); + Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits") + .withEntityType("Project").build(); // Create a new Publication (which is an Article) Item article = ItemBuilder.createItem(context, col1) .withTitle("Article") .withIssueDate("2017-10-17") - .withEntityType("Publication") .build(); // Via CSV import, add two Authors to that Publication - Item author1 = validateSpecificItemRelationCreationCsvImport(col1, article, "TestAuthor1", "Person", + Item author1 = validateSpecificItemRelationCreationCsvImport(col2, article, "TestAuthor1", "Person", "isPublicationOfAuthor", "Relationship list size is 1", 1, 0, 0); - Item author2 = validateSpecificItemRelationCreationCsvImport(col1, article, "TestAuthor2", "Person", + Item author2 = validateSpecificItemRelationCreationCsvImport(col2, article, "TestAuthor2", "Person", "isPublicationOfAuthor", "Relationship list size is 1", 1, 1, 0); // Via CSV import, add a Project related to that Publication - Item project = validateSpecificItemRelationCreationCsvImport(col1, article, "TestProject", "Project", + Item project = validateSpecificItemRelationCreationCsvImport(col3, article, "TestProject", "Project", "isPublicationOfProject", "Relationship list size is 1", 1, 0, 0); // Via CSV import, add a new Publication related to both author1 & author2 @@ -130,7 +132,7 @@ public class CsvImportIT extends AbstractEntityIntegrationTest { // Via CSV import add a new Author to the new Publication, as the *third* author. // At this point the new Publication has three authors in this order: author2, author1, author3 - Item author3 = validateSpecificItemRelationCreationCsvImport(col1, article2, "TestAuthor3", "Person", + Item author3 = validateSpecificItemRelationCreationCsvImport(col2, article2, "TestAuthor3", "Person", "isPublicationOfAuthor", "Relationship list size is 1", 1, 2, 0); @@ -304,14 +306,14 @@ public class CsvImportIT extends AbstractEntityIntegrationTest { Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) .withName("Sub Community") .build(); - Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1") + .withEntityType("Publication").build(); Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); Item article = ItemBuilder.createItem(context, col1) .withTitle("Article") .withIssueDate("2017-10-17") - .withEntityType("Publication") .build(); String csvLineString = "+," + col1.getHandle() + ",TestItemB,Person," + article