diff --git a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java index e1a45e4..196e4f9 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java @@ -179,6 +179,7 @@ public class MamMigrationSelective implements CommandLineRunner { UploadRecord record = new UploadRecord(); String entryJson = jsonMapper.writeValueAsString(entry); List keywords = new ArrayList(); + HashSet campaignGuids = new HashSet(); // globally applicable classifications record.addClassification("Migration"); @@ -318,9 +319,11 @@ public class MamMigrationSelective implements CommandLineRunner { String campaignGuid = null; for (Campaign c : campaigns) { if (c.name.equals(campaignName)) { - log.debug("Add existing campaign " + campaignName); campaignGuid = c.guid; - record.addClassification(new WriteClassification(campaignGuid, 1)); + if (campaignGuids.add(campaignGuid)) { + log.debug("Add existing campaign " + campaignName); + record.addClassification(new WriteClassification(campaignGuid, 1)); + } } } @@ -333,8 +336,11 @@ public class MamMigrationSelective implements CommandLineRunner { try { EntityId campaignId = restTemplate.exchange(Definitions.adamHost + "/classifications", HttpMethod.POST, httpEntity, EntityId.class).getBody(); campaign.guid = campaignId.id; - record.addClassification(new WriteClassification(campaign.guid, 1)); campaigns.add(campaign); + if (campaignGuids.add(campaign.guid)) { + log.debug("Add new campaign " + campaign.name); + record.addClassification(new WriteClassification(campaign.guid, 1)); + } } catch (HttpStatusCodeException hsce) { log.error("Could not create campaign '" + campaignName + "' for entry " + entry.id + ": " + hsce.getStatusCode().toString());