diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java index 7298256c..fc813a89 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java @@ -664,7 +664,8 @@ public class CommunityApiController { }) public Set addPropagationOrganizationForCommunity(@PathVariable final String id, @RequestParam final String organizationId) throws CommunityException { - return communityService.addPropagationOrganizationForCommunity(id, organizationId); + + return communityService.addPropagationOrganizationForCommunity(id, organizationId.split(",")); } @RequestMapping(value = "/community/{id}/propagationOrganizations", produces = { @@ -680,7 +681,8 @@ public class CommunityApiController { }) public Set removePropagationOrganizationForCommunity(@PathVariable final String id, @RequestParam final String organizationId) throws CommunityException { - return communityService.removePropagationOrganizationForCommunity(id, organizationId); + + return communityService.removePropagationOrganizationForCommunity(id, organizationId.split(",")); } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java index f5de6a17..bacabd79 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java @@ -512,10 +512,12 @@ public class CommunityService { } @Transactional - public Set addPropagationOrganizationForCommunity(final String communityId, final String organizationId) throws CommunityException { + public Set addPropagationOrganizationForCommunity(final String communityId, final String... organizationIds) throws CommunityException { try { - final DbOrganization o = new DbOrganization(communityId, organizationId); - dbOrganizationRepository.save(o); + for (final String orgId : organizationIds) { + final DbOrganization o = new DbOrganization(communityId.trim(), orgId.trim()); + dbOrganizationRepository.save(o); + } return getPropagationOrganizationsForCommunity(communityId); } catch (final Throwable e) { log.error(e); @@ -524,10 +526,12 @@ public class CommunityService { } @Transactional - public Set removePropagationOrganizationForCommunity(final String communityId, final String organizationId) throws CommunityException { + public Set removePropagationOrganizationForCommunity(final String communityId, final String... organizationIds) throws CommunityException { try { - final DbOrganization o = new DbOrganization(communityId, organizationId); - dbOrganizationRepository.delete(o); + for (final String orgId : organizationIds) { + final DbOrganization o = new DbOrganization(communityId.trim(), orgId.trim()); + dbOrganizationRepository.delete(o); + } return getPropagationOrganizationsForCommunity(communityId); } catch (final Throwable e) { log.error(e);