creating year classifications, pt. 1
This commit is contained in:
@@ -4,9 +4,9 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.WriteClassification;
|
import com.bayer.edam.migration.adam.UploadRecord.WriteClassification;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.Field;
|
import com.bayer.edam.migration.adam.UploadRecord.Field;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.LocalizedValue;
|
import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue;
|
||||||
|
|
||||||
public class Definitions {
|
public class Definitions {
|
||||||
|
|
||||||
|
|||||||
@@ -35,8 +35,9 @@ import com.bayer.edam.migration.adam.Classification;
|
|||||||
import com.bayer.edam.migration.adam.ClassificationList;
|
import com.bayer.edam.migration.adam.ClassificationList;
|
||||||
import com.bayer.edam.migration.adam.EntityId;
|
import com.bayer.edam.migration.adam.EntityId;
|
||||||
import com.bayer.edam.migration.adam.Token;
|
import com.bayer.edam.migration.adam.Token;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord;
|
import com.bayer.edam.migration.adam.UploadClassification;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.WriteClassification;
|
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.Entry;
|
||||||
import com.bayer.edam.migration.mam.categories.CategoryTree;
|
import com.bayer.edam.migration.mam.categories.CategoryTree;
|
||||||
import com.bayer.edam.migration.mam.categories.CategoryTree.Node;
|
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 SimpleDateFormat stringDate = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
private ObjectMapper jsonMapper = new ObjectMapper();
|
private ObjectMapper jsonMapper = new ObjectMapper();
|
||||||
|
|
||||||
|
private List<Classification> campaignYears;
|
||||||
private List<Campaign> campaigns = new LinkedList<Campaign>();
|
private List<Campaign> campaigns = new LinkedList<Campaign>();
|
||||||
|
|
||||||
private List<String> locations = new ArrayList<String>();
|
private List<String> locations = new ArrayList<String>();
|
||||||
@@ -102,10 +104,10 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
|
|
||||||
log.info("Read campaigns");
|
log.info("Read campaigns");
|
||||||
HttpEntity<String> httpEntity = new HttpEntity<String>("parameters", adamHeaders);
|
HttpEntity<String> httpEntity = new HttpEntity<String>("parameters", adamHeaders);
|
||||||
ClassificationList campaignYears = restTemplate.exchange(adamHost + "/classification/" + Definitions.campaignRoot + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody();
|
campaignYears = restTemplate.exchange(adamHost + "/classification/" + Definitions.campaignRoot + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody().items;
|
||||||
for (Classification yearClassification : campaignYears.items) {
|
for (Classification yearClassification : campaignYears) {
|
||||||
ClassificationList campaignClassifications = restTemplate.exchange(adamHost + "/classification/" + yearClassification.id + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody();
|
List<Classification> campaignClassifications = restTemplate.exchange(adamHost + "/classification/" + yearClassification.id + "/children", HttpMethod.GET, httpEntity, ClassificationList.class).getBody().items;
|
||||||
for (Classification campaignClassification : campaignClassifications.items) {
|
for (Classification campaignClassification : campaignClassifications) {
|
||||||
log.debug(yearClassification.name + ": " + campaignClassification.name + ", " + campaignClassification.labels[0].value + ", " + campaignClassification.id);
|
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 campaign = new Campaign(campaignClassification.name, campaignClassification.labels[0].value, yearClassification.name);
|
||||||
campaign.guid = campaignClassification.id;
|
campaign.guid = campaignClassification.id;
|
||||||
@@ -114,7 +116,6 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
HttpEntity<String> entity = new HttpEntity<String>("", mamHeaders);
|
HttpEntity<String> entity = new HttpEntity<String>("", mamHeaders);
|
||||||
for (int id : selection) {
|
for (int id : selection) {
|
||||||
log.info("GET entry " + id);
|
log.info("GET entry " + id);
|
||||||
@@ -149,7 +150,7 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void postToAdam(Entry entry) throws Exception {
|
void postToAdam(Entry entry) throws Exception {
|
||||||
WriteRecord record = new WriteRecord();
|
UploadRecord record = new UploadRecord();
|
||||||
String entryJson = jsonMapper.writeValueAsString(entry);
|
String entryJson = jsonMapper.writeValueAsString(entry);
|
||||||
|
|
||||||
// globally applicable classifications
|
// globally applicable classifications
|
||||||
@@ -206,6 +207,25 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
try {
|
try {
|
||||||
Integer.parseInt(campaignYear);
|
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
|
// check whether campain already exists
|
||||||
String campaignGuid = null;
|
String campaignGuid = null;
|
||||||
for (Campaign c : campaigns) {
|
for (Campaign c : campaigns) {
|
||||||
@@ -216,7 +236,7 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (campaignGuid == null) {
|
if (campaignGuid == null) {
|
||||||
log.info("Create campaign " + campaignName);
|
log.info("Create campaign " + campaignYear + "/" + campaignName);
|
||||||
|
|
||||||
Campaign campaign = new Campaign(campaignName, campaignLabel, campaignYear);
|
Campaign campaign = new Campaign(campaignName, campaignLabel, campaignYear);
|
||||||
|
|
||||||
@@ -298,9 +318,9 @@ public class MamMigrationSelective implements CommandLineRunner {
|
|||||||
|
|
||||||
|
|
||||||
// Create record
|
// Create record
|
||||||
HttpEntity<WriteRecord> httpEntity = new HttpEntity<WriteRecord>(record, adamHeaders);
|
HttpEntity<UploadRecord> httpEntity = new HttpEntity<UploadRecord>(record, adamHeaders);
|
||||||
try {
|
try {
|
||||||
URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, WriteRecord.class);
|
URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, UploadRecord.class);
|
||||||
log.info("Created " + location);
|
log.info("Created " + location);
|
||||||
|
|
||||||
FileUtils.writeStringToFile(entryLog, location.toString() + fieldSeparator + entryJson + lineSeparator,
|
FileUtils.writeStringToFile(entryLog, location.toString() + fieldSeparator + entryJson + lineSeparator,
|
||||||
|
|||||||
@@ -3,32 +3,18 @@ package com.bayer.edam.migration.adam;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.Field;
|
import com.bayer.edam.migration.adam.UploadRecord.Field;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.Fields;
|
import com.bayer.edam.migration.adam.UploadRecord.Fields;
|
||||||
import com.bayer.edam.migration.adam.WriteRecord.LocalizedValue;
|
import com.bayer.edam.migration.adam.UploadRecord.LocalizedValue;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
|
|
||||||
public class Campaign {
|
public class Campaign extends UploadClassification {
|
||||||
|
|
||||||
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 Fields fields = new Fields();
|
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.parentNamePath = basePath + year;
|
||||||
this.name = name;
|
|
||||||
LocalizedValue labelValue = new LocalizedValue(label);
|
|
||||||
labels = new LocalizedValue[] { labelValue };
|
|
||||||
|
|
||||||
// set field "IsCampaign"
|
// set field "IsCampaign"
|
||||||
Field isCampaign = new Field("ed1b60f4069b48339128a77600bfb82a");
|
Field isCampaign = new Field("ed1b60f4069b48339128a77600bfb82a");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bayer.edam.migration.adam;
|
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 {
|
public class Classification {
|
||||||
|
|
||||||
|
|||||||
@@ -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 };
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+2
-2
@@ -8,9 +8,9 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import com.bayer.edam.migration.Definitions;
|
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 static class WriteClassification {
|
||||||
public String id;
|
public String id;
|
||||||
+3
-3
@@ -25,7 +25,7 @@ import org.springframework.web.client.RestTemplate;
|
|||||||
import com.bayer.edam.migration.LoggingRequestInterceptor;
|
import com.bayer.edam.migration.LoggingRequestInterceptor;
|
||||||
import com.bayer.edam.migration.adam.ReadRecord;
|
import com.bayer.edam.migration.adam.ReadRecord;
|
||||||
import com.bayer.edam.migration.adam.Token;
|
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;
|
import com.bayer.edam.migration.mam.Entry;
|
||||||
|
|
||||||
public class MediaAssistantMigrationSimple {
|
public class MediaAssistantMigrationSimple {
|
||||||
@@ -86,10 +86,10 @@ public class MediaAssistantMigrationSimple {
|
|||||||
log.error(hcee.getResponseBodyAsString());
|
log.error(hcee.getResponseBodyAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpEntity<WriteRecord> newRecord = new HttpEntity<WriteRecord>(new WriteRecord(), headers);
|
HttpEntity<UploadRecord> newRecord = new HttpEntity<UploadRecord>(new UploadRecord(), headers);
|
||||||
|
|
||||||
try {
|
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);
|
log.info("Location: " + location);
|
||||||
}
|
}
|
||||||
catch (HttpClientErrorException hcee) {
|
catch (HttpClientErrorException hcee) {
|
||||||
|
|||||||
Reference in New Issue
Block a user