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.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 {
|
||||
|
||||
|
||||
@@ -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<Classification> campaignYears;
|
||||
private List<Campaign> campaigns = new LinkedList<Campaign>();
|
||||
|
||||
private List<String> locations = new ArrayList<String>();
|
||||
@@ -102,18 +104,17 @@ public class MamMigrationSelective implements CommandLineRunner {
|
||||
|
||||
log.info("Read campaigns");
|
||||
HttpEntity<String> httpEntity = new HttpEntity<String>("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<Classification> 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<String> entity = new HttpEntity<String>("", 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<WriteRecord> httpEntity = new HttpEntity<WriteRecord>(record, adamHeaders);
|
||||
HttpEntity<UploadRecord> httpEntity = new HttpEntity<UploadRecord>(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,
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
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;
|
||||
+3
-3
@@ -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<WriteRecord> newRecord = new HttpEntity<WriteRecord>(new WriteRecord(), headers);
|
||||
HttpEntity<UploadRecord> newRecord = new HttpEntity<UploadRecord>(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) {
|
||||
|
||||
Reference in New Issue
Block a user