From 47c90fdad43ab00fb02c8c13ef60853be5601201 Mon Sep 17 00:00:00 2001 From: gexce Date: Tue, 24 Oct 2017 15:32:30 +0200 Subject: [PATCH] creating year classifications, pt. 1 --- .../com/bayer/edam/migration/Definitions.java | 6 +-- .../edam/migration/MamMigrationSelective.java | 44 ++++++++++++++----- .../bayer/edam/migration/adam/Campaign.java | 26 +++-------- .../edam/migration/adam/Classification.java | 2 +- .../migration/adam/UploadClassification.java | 29 ++++++++++++ .../{WriteRecord.java => UploadRecord.java} | 4 +- .../attic/MediaAssistantMigrationSimple.java | 6 +-- 7 files changed, 76 insertions(+), 41 deletions(-) create mode 100644 AH MAM Migration/src/com/bayer/edam/migration/adam/UploadClassification.java rename AH MAM Migration/src/com/bayer/edam/migration/adam/{WriteRecord.java => UploadRecord.java} (91%) diff --git a/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java b/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java index 056a71c..a9c6a20 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java @@ -4,9 +4,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import com.bayer.edam.migration.adam.WriteRecord.WriteClassification; -import com.bayer.edam.migration.adam.WriteRecord.Field; -import com.bayer.edam.migration.adam.WriteRecord.LocalizedValue; +import com.bayer.edam.migration.adam.UploadRecord.WriteClassification; +import com.bayer.edam.migration.adam.UploadRecord.Field; +import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue; public class Definitions { 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 c542524..23e53c4 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java @@ -35,8 +35,9 @@ import com.bayer.edam.migration.adam.Classification; import com.bayer.edam.migration.adam.ClassificationList; import com.bayer.edam.migration.adam.EntityId; import com.bayer.edam.migration.adam.Token; -import com.bayer.edam.migration.adam.WriteRecord; -import com.bayer.edam.migration.adam.WriteRecord.WriteClassification; +import com.bayer.edam.migration.adam.UploadClassification; +import com.bayer.edam.migration.adam.UploadRecord; +import com.bayer.edam.migration.adam.UploadRecord.WriteClassification; import com.bayer.edam.migration.mam.Entry; import com.bayer.edam.migration.mam.categories.CategoryTree; import com.bayer.edam.migration.mam.categories.CategoryTree.Node; @@ -76,6 +77,7 @@ public class MamMigrationSelective implements CommandLineRunner { private SimpleDateFormat stringDate = new SimpleDateFormat("yyyy-MM-dd"); private ObjectMapper jsonMapper = new ObjectMapper(); + private List campaignYears; private List campaigns = new LinkedList(); private List locations = new ArrayList(); @@ -102,18 +104,17 @@ public class MamMigrationSelective implements CommandLineRunner { log.info("Read campaigns"); HttpEntity httpEntity = new HttpEntity("parameters", adamHeaders); - ClassificationList campaignYears = restTemplate.exchange(adamHost + "/classification/" + Definitions.campaignRoot + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody(); - for (Classification yearClassification : campaignYears.items) { - ClassificationList campaignClassifications = restTemplate.exchange(adamHost + "/classification/" + yearClassification.id + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody(); - for (Classification campaignClassification : campaignClassifications.items) { + campaignYears = restTemplate.exchange(adamHost + "/classification/" + Definitions.campaignRoot + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody().items; + for (Classification yearClassification : campaignYears) { + List campaignClassifications = restTemplate.exchange(adamHost + "/classification/" + yearClassification.id + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody().items; + for (Classification campaignClassification : campaignClassifications) { log.debug(yearClassification.name + ": " + campaignClassification.name + ", " + campaignClassification.labels[0].value + ", " + campaignClassification.id); Campaign campaign = new Campaign(campaignClassification.name, campaignClassification.labels[0].value, yearClassification.name); campaign.guid = campaignClassification.id; campaigns.add(campaign); } - } - + } HttpEntity entity = new HttpEntity("", mamHeaders); for (int id : selection) { @@ -149,7 +150,7 @@ public class MamMigrationSelective implements CommandLineRunner { } void postToAdam(Entry entry) throws Exception { - WriteRecord record = new WriteRecord(); + UploadRecord record = new UploadRecord(); String entryJson = jsonMapper.writeValueAsString(entry); // globally applicable classifications @@ -206,6 +207,25 @@ public class MamMigrationSelective implements CommandLineRunner { try { Integer.parseInt(campaignYear); + // check whether the year classification already exists + Classification yearClassification = null; + for (Classification c : campaignYears) { + if (c.name.equals(campaignYear)) { + yearClassification = c; + } + } + + if (yearClassification == null) { + log.info("Create campaign year " + campaignYear); + + UploadClassification newYear = new UploadClassification(campaignYear, campaignYear); + + + // TODO HIER GEHT'S WEITER + + // (s. Z. 243 ff) + } + // check whether campain already exists String campaignGuid = null; for (Campaign c : campaigns) { @@ -216,7 +236,7 @@ public class MamMigrationSelective implements CommandLineRunner { } if (campaignGuid == null) { - log.info("Create campaign " + campaignName); + log.info("Create campaign " + campaignYear + "/" + campaignName); Campaign campaign = new Campaign(campaignName, campaignLabel, campaignYear); @@ -298,9 +318,9 @@ public class MamMigrationSelective implements CommandLineRunner { // Create record - HttpEntity httpEntity = new HttpEntity(record, adamHeaders); + HttpEntity httpEntity = new HttpEntity(record, adamHeaders); try { - URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, WriteRecord.class); + URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, UploadRecord.class); log.info("Created " + location); FileUtils.writeStringToFile(entryLog, location.toString() + fieldSeparator + entryJson + lineSeparator, diff --git a/AH MAM Migration/src/com/bayer/edam/migration/adam/Campaign.java b/AH MAM Migration/src/com/bayer/edam/migration/adam/Campaign.java index fb244d6..2c2ade0 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/adam/Campaign.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/adam/Campaign.java @@ -3,32 +3,18 @@ package com.bayer.edam.migration.adam; import java.util.ArrayList; import java.util.List; -import com.bayer.edam.migration.adam.WriteRecord.Field; -import com.bayer.edam.migration.adam.WriteRecord.Fields; -import com.bayer.edam.migration.adam.WriteRecord.LocalizedValue; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.bayer.edam.migration.adam.UploadRecord.Field; +import com.bayer.edam.migration.adam.UploadRecord.Fields; +import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue; -public class Campaign { - - private static String basePath = "/Definitions/Animal Health/Campaign/Global/"; - - public String parentNamePath; - public String name; - public String identifier = ""; - public Integer sortIndex = 1; - public LocalizedValue[] labels; - - @JsonIgnore - public String guid; +public class Campaign extends UploadClassification { public Fields fields = new Fields(); - public Campaign (String name, String label, String year) { + public Campaign(String name, String label, String year) { + super(name, label); this.parentNamePath = basePath + year; - this.name = name; - LocalizedValue labelValue = new LocalizedValue(label); - labels = new LocalizedValue[] { labelValue }; // set field "IsCampaign" Field isCampaign = new Field("ed1b60f4069b48339128a77600bfb82a"); diff --git a/AH MAM Migration/src/com/bayer/edam/migration/adam/Classification.java b/AH MAM Migration/src/com/bayer/edam/migration/adam/Classification.java index 2a06eec..3757b4e 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/adam/Classification.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/adam/Classification.java @@ -1,6 +1,6 @@ package com.bayer.edam.migration.adam; -import com.bayer.edam.migration.adam.WriteRecord.LocalizedValue; +import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue; public class Classification { diff --git a/AH MAM Migration/src/com/bayer/edam/migration/adam/UploadClassification.java b/AH MAM Migration/src/com/bayer/edam/migration/adam/UploadClassification.java new file mode 100644 index 0000000..1a0d500 --- /dev/null +++ b/AH MAM Migration/src/com/bayer/edam/migration/adam/UploadClassification.java @@ -0,0 +1,29 @@ +package com.bayer.edam.migration.adam; + +import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public class UploadClassification { + + protected static String basePath = "/Definitions/Animal Health/Campaign/Global/"; + + public String parentNamePath; + public String name; + public String identifier = ""; + public Integer sortIndex = 1; + public LocalizedValue[] labels; + + @JsonIgnore + public String guid; + +// public Fields fields = new Fields(); + + + public UploadClassification(String name, String label) { + this.parentNamePath = basePath; + this.name = name; + LocalizedValue labelValue = new LocalizedValue(label); + labels = new LocalizedValue[] { labelValue }; + } + +} diff --git a/AH MAM Migration/src/com/bayer/edam/migration/adam/WriteRecord.java b/AH MAM Migration/src/com/bayer/edam/migration/adam/UploadRecord.java similarity index 91% rename from AH MAM Migration/src/com/bayer/edam/migration/adam/WriteRecord.java rename to AH MAM Migration/src/com/bayer/edam/migration/adam/UploadRecord.java index af29223..12adcee 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/adam/WriteRecord.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/adam/UploadRecord.java @@ -8,9 +8,9 @@ import org.slf4j.LoggerFactory; import com.bayer.edam.migration.Definitions; -public class WriteRecord { +public class UploadRecord { - private static final Logger log = LoggerFactory.getLogger(WriteRecord.class); + private static final Logger log = LoggerFactory.getLogger(UploadRecord.class); public static class WriteClassification { public String id; diff --git a/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java b/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java index b7f39e3..cdc8004 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java @@ -25,7 +25,7 @@ import org.springframework.web.client.RestTemplate; import com.bayer.edam.migration.LoggingRequestInterceptor; import com.bayer.edam.migration.adam.ReadRecord; import com.bayer.edam.migration.adam.Token; -import com.bayer.edam.migration.adam.WriteRecord; +import com.bayer.edam.migration.adam.UploadRecord; import com.bayer.edam.migration.mam.Entry; public class MediaAssistantMigrationSimple { @@ -86,10 +86,10 @@ public class MediaAssistantMigrationSimple { log.error(hcee.getResponseBodyAsString()); } - HttpEntity newRecord = new HttpEntity(new WriteRecord(), headers); + HttpEntity newRecord = new HttpEntity(new UploadRecord(), headers); try { - URI location = restTemplate.postForLocation("https://edam-q.bayer.com:2015/records", newRecord, WriteRecord.class); + URI location = restTemplate.postForLocation("https://edam-q.bayer.com:2015/records", newRecord, UploadRecord.class); log.info("Location: " + location); } catch (HttpClientErrorException hcee) {