diff --git a/AH MAM Migration/pom.xml b/AH MAM Migration/pom.xml
index 9a0ce59..29273d2 100644
--- a/AH MAM Migration/pom.xml
+++ b/AH MAM Migration/pom.xml
@@ -32,6 +32,12 @@
com.h2database
h2
+
+ com.univocity
+ univocity-parsers
+ 2.4.1
+ jar
+
diff --git a/AH MAM Migration/questions.txt b/AH MAM Migration/questions.txt
index b520a8e..703e836 100644
--- a/AH MAM Migration/questions.txt
+++ b/AH MAM Migration/questions.txt
@@ -6,4 +6,23 @@
- "comment" mit in description?
- MAM-Status "ARCHIVED" --> eDAM.Archived?
- Was ist mit Status != ACCEPTED or ARCHIVED?
-- Regelung Cutover: Kein Upload mehr ab KW42 (16.10.)
\ No newline at end of file
+- Regelung Cutover: Kein Upload mehr ab KW42 (16.10.)
+- Wenn License Holder nicht gesetzt, trotzdem BAH GmbH? (bspw. 00070763)
+
+
+CREATE TABLE House (ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY, date DATE NOT NULL, description VARCHAR(255));
+--CREATE TABLE Room (ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY, qm INTEGER NOT NULL, HouseID INTEGER NOT NULL, FOREIGN KEY(HouseID) REFERENCES House (ID));
+INSERT INTO House (date, description) VALUES ('2017-09-18', 'Das blaue Haus');
+INSERT INTO House (date, description) VALUES ('2017-09-15', 'Das grĂ¼ne Haus');
+CALL CSVWRITE ('C:/Temp/Migration AH/house.csv', 'SELECT * FROM House','charset=UTF-8');
+DROP TABLE House;
+CREATE TABLE House (
+ ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
+ date DATE NOT NULL,
+ description VARCHAR(255))
+AS SELECT
+ ID,
+ date,
+ description
+FROM CSVREAD('C:/Temp/Migration AH/house.csv', null, 'charset=UTF-8');
+SELECT * FROM House;
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 51372f9..bc2c3b1 100644
--- a/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java
+++ b/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java
@@ -16,6 +16,7 @@ public class Definitions {
public static final String defaultLanguage = "c2bd4f9bbb954bcb80c31e924c9c26dc"; //"00000000000000000000000000000000";
public static final String defaultProjectLead = "21cfce6116484269a351a71300e1fed0";
public static final String defaultLicenseHolder = "4b82f989fae54a309e17a7470073c36b"; // Bayer Animal Health GmbH
+ public static final String defaultAdditionalPermittedUse = "e22aa8a5-c0d9-4e3b-8469-a731010bc1fd"; // N/A
static {
classifications = new HashMap();
@@ -43,6 +44,7 @@ public class Definitions {
fieldIDs.put("byr_ah_description", "f9e40f87-493e-4f17-b129-a6dd00d063b2"); // Additional Information
fieldIDs.put("byr_ah_projectLead", "5400d446-9d95-4158-ac06-a6dd00d06a12");
fieldIDs.put("byr_ah_licenseHolderList", "de3f83cb50e747228bfea731010bc27c");
+ fieldIDs.put("byr_ah_licenseAdditionalPermittedUse", "5c9d43a0-bf70-4fb5-8ad4-a731010bc1ef");
fieldIDs.put("byr_creationDate", "403fea1c-c154-4e3b-a941-a68a00d4fcc3");
fieldIDs.put("byr_ah_keywords_tl", "6d582cfaa5b94101ab1fa6fd007e2fcd");
}
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 2083d31..268a12b 100644
--- a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java
+++ b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java
@@ -5,7 +5,9 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,7 +23,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.client.BufferingClientHttpRequestFactory;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
-import org.springframework.web.client.HttpClientErrorException;
+import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestTemplate;
import com.bayer.edam.migration.adam.Token;
@@ -35,9 +37,7 @@ public class MamMigrationSelective implements CommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(MamMigrationSelective.class);
static String adamHost = "https://edam-q.bayer.com:2015";
- static int[] selection = { 71948 }; // { 71048, 70778, 70746
- // ,70142,70361,63924,71263,63201,56942,57641,70745,70440,70340,70288,71725 */
- // };
+ static int[] selection = { 71948, 71048,70778/*,70746,70142,70361,63924,71263,63201,56942,57641,70745,70440,70340,70288,71725*/};
@Value("${mam.auth}")
private String mamAuth;
@@ -51,6 +51,8 @@ public class MamMigrationSelective implements CommandLineRunner {
private static SimpleDateFormat isoDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
private static SimpleDateFormat stringDate = new SimpleDateFormat("yyyy-MM-dd");
+
+ private List locations = new ArrayList();
@Override
public void run(String... strings) throws Exception {
@@ -74,9 +76,16 @@ public class MamMigrationSelective implements CommandLineRunner {
.getBody();
// log.info(entry.toFullString());
-
+
postToAdam(entry);
}
+
+ // delete all created records
+// for (String location : locations) {
+// ResponseEntity response = restTemplate.exchange(adamHost + location, HttpMethod.DELETE,
+// adamHeadersEntity, String.class);
+// log.info("Deleted " + location + ": " + response.toString());
+// }
invalidateAdamToken();
}
@@ -110,6 +119,7 @@ public class MamMigrationSelective implements CommandLineRunner {
record.addField("byr_Title", entry.name.get("en"));
record.addField("byr_ah_projectLead", Collections.singletonList(Definitions.defaultProjectLead));
record.addField("byr_ah_licenseHolderList", Collections.singletonList(Definitions.defaultLicenseHolder));
+ record.addField("byr_ah_licenseAdditionalPermittedUse", Collections.singletonList(Definitions.defaultAdditionalPermittedUse));
// Description / Additional Information
String description = entry.description.get("en");
@@ -130,20 +140,21 @@ public class MamMigrationSelective implements CommandLineRunner {
// TODO
// Keywords
- List keywords = Arrays.asList(entry.keyword.get("en").split("\\s*,\\s*"));
- record.addField("byr_ah_keywords_tl", keywords);
+ if (entry.keyword.get("en") != null && entry.keyword.get("en").length() > 0) {
+ Set keywords = new HashSet(Arrays.asList(entry.keyword.get("en").split("\\s*,\\s*")));
+ record.addField("byr_ah_keywords_tl", new ArrayList(keywords));
+ }
HttpEntity httpEntity = new HttpEntity(record, adamHeaders);
try {
URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, WriteRecord.class);
- log.info("Location: " + location);
-
- ResponseEntity response = restTemplate.exchange(adamHost + location, HttpMethod.DELETE,
- adamHeadersEntity, String.class);
- log.info("Deleted record: " + response.toString());
- } catch (HttpClientErrorException hcee) {
- log.error(hcee.getStatusCode().toString());
- log.error(hcee.getResponseBodyAsString());
+ log.info("Created " + location);
+
+ locations.add(location.toString());
+
+ } catch (HttpStatusCodeException hsce) {
+ log.error(hsce.getStatusCode().toString());
+ log.error(hsce.getResponseBodyAsString());
}
}
@@ -164,6 +175,7 @@ public class MamMigrationSelective implements CommandLineRunner {
headers.add("Accept", "application/hal+json");
headers.add("Content-Type", "application/json");
headers.add("Authorization", "Basic " + adamAuth);
+ headers.add("set-immediateSearchIndexUpdate", "true"); // see https://edam.bayer.com:2015/docs/resources/record#example-records-direct-push
HttpEntity entity = new HttpEntity("", headers);
Token token = restTemplate.exchange(adamHost + "/auth", HttpMethod.GET, entity, Token.class).getBody();
diff --git a/AH MAM Migration/src/com/bayer/edam/migration/MediaAssistantMigrationSimple.java b/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java
similarity index 96%
rename from AH MAM Migration/src/com/bayer/edam/migration/MediaAssistantMigrationSimple.java
rename to AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java
index b6487e4..b7f39e3 100644
--- a/AH MAM Migration/src/com/bayer/edam/migration/MediaAssistantMigrationSimple.java
+++ b/AH MAM Migration/src/com/bayer/edam/migration/attic/MediaAssistantMigrationSimple.java
@@ -1,4 +1,4 @@
-package com.bayer.edam.migration;
+package com.bayer.edam.migration.attic;
import java.io.FileInputStream;
import java.io.IOException;
@@ -22,6 +22,7 @@ import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.HttpClientErrorException;
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;
diff --git a/AH MAM Migration/src/com/bayer/edam/migration/ShowRecord.java b/AH MAM Migration/src/com/bayer/edam/migration/attic/ShowRecord.java
similarity index 94%
rename from AH MAM Migration/src/com/bayer/edam/migration/ShowRecord.java
rename to AH MAM Migration/src/com/bayer/edam/migration/attic/ShowRecord.java
index 4e7ecac..fc8cdae 100644
--- a/AH MAM Migration/src/com/bayer/edam/migration/ShowRecord.java
+++ b/AH MAM Migration/src/com/bayer/edam/migration/attic/ShowRecord.java
@@ -1,4 +1,4 @@
-package com.bayer.edam.migration;
+package com.bayer.edam.migration.attic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +13,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
+import com.bayer.edam.migration.MamMigrationSelective;
import com.bayer.edam.migration.adam.Token;
//@SpringBootApplication